Browse Source

Merge pull request #3540 from abpframework/feat/componens-enums

Created enums for available replaceable components
pull/3545/head
Levent Arman Özak 7 years ago
committed by GitHub
parent
commit
f5b37fa98b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      docs/en/UI/Angular/Component-Replacement.md
  2. 4
      npm/ng-packs/.vscode/settings.json
  3. 26
      npm/ng-packs/package.json
  4. 4
      npm/ng-packs/packages/account/package.json
  5. 7
      npm/ng-packs/packages/account/src/lib/account-routing.module.ts
  6. 4
      npm/ng-packs/packages/account/src/lib/components/auth-wrapper/auth-wrapper.component.html
  7. 3
      npm/ng-packs/packages/account/src/lib/components/auth-wrapper/auth-wrapper.component.ts
  8. 2
      npm/ng-packs/packages/account/src/lib/components/login/login.component.html
  9. 3
      npm/ng-packs/packages/account/src/lib/components/login/login.component.ts
  10. 4
      npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.html
  11. 5
      npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.ts
  12. 2
      npm/ng-packs/packages/account/src/lib/components/register/register.component.html
  13. 3
      npm/ng-packs/packages/account/src/lib/components/register/register.component.ts
  14. 9
      npm/ng-packs/packages/account/src/lib/enums/components.ts
  15. 1
      npm/ng-packs/packages/account/src/public-api.ts
  16. 2
      npm/ng-packs/packages/feature-management/package.json
  17. 3
      npm/ng-packs/packages/feature-management/src/lib/enums/components.ts
  18. 1
      npm/ng-packs/packages/feature-management/src/public-api.ts
  19. 6
      npm/ng-packs/packages/identity/package.json
  20. 2
      npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html
  21. 3
      npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts
  22. 2
      npm/ng-packs/packages/identity/src/lib/components/users/users.component.html
  23. 3
      npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts
  24. 4
      npm/ng-packs/packages/identity/src/lib/enums/components.ts
  25. 5
      npm/ng-packs/packages/identity/src/lib/identity-routing.module.ts
  26. 1
      npm/ng-packs/packages/identity/src/public-api.ts
  27. 2
      npm/ng-packs/packages/permission-management/package.json
  28. 3
      npm/ng-packs/packages/permission-management/src/lib/enums/components.ts
  29. 1
      npm/ng-packs/packages/permission-management/src/public-api.ts
  30. 4
      npm/ng-packs/packages/setting-management/package.json
  31. 3
      npm/ng-packs/packages/setting-management/src/lib/enums/components.ts
  32. 3
      npm/ng-packs/packages/setting-management/src/lib/setting-management-routing.module.ts
  33. 1
      npm/ng-packs/packages/setting-management/src/public-api.ts
  34. 6
      npm/ng-packs/packages/tenant-management/package.json
  35. 10
      npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html
  36. 3
      npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts
  37. 3
      npm/ng-packs/packages/tenant-management/src/lib/enums/components.ts
  38. 3
      npm/ng-packs/packages/tenant-management/src/lib/tenant-management-routing.module.ts
  39. 1
      npm/ng-packs/packages/tenant-management/src/public-api.ts
  40. 2
      npm/ng-packs/packages/theme-basic/package.json
  41. 5
      npm/ng-packs/packages/theme-basic/src/lib/enums/components.ts
  42. 7
      npm/ng-packs/packages/theme-basic/src/lib/services/initial.service.ts
  43. 1
      npm/ng-packs/packages/theme-basic/src/public-api.ts
  44. 2
      npm/ng-packs/packages/theme-shared/package.json
  45. 132
      npm/ng-packs/yarn.lock

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

@ -11,15 +11,18 @@ Create a new component that you want to use instead of an ABP component. Add tha
Then, open the `app.component.ts` and dispatch the `AddReplaceableComponent` action to replace your component with an ABP component as shown below: Then, open the `app.component.ts` and dispatch the `AddReplaceableComponent` action to replace your component with an ABP component as shown below:
```js ```js
import { ..., AddReplaceableComponent } from '@abp/ng.core'; import { ..., AddReplaceableComponent } from '@abp/ng.core'; // imported AddReplaceableComponent action
import { eIdentityComponents } from '@abp/ng.identity'; // imported eIdentityComponents enum
import { Store } from '@ngxs/store'; // imported Store
//...
export class AppComponent { export class AppComponent {
constructor(..., private store: Store) {} constructor(..., private store: Store) {} // injected Store
ngOnInit() { ngOnInit() {
this.store.dispatch( this.store.dispatch(
new AddReplaceableComponent({ new AddReplaceableComponent({
component: YourNewRoleComponent, component: YourNewRoleComponent,
key: 'Identity.RolesComponent', key: eIdentityComponents.Roles,
}), }),
); );
//... //...
@ -56,6 +59,7 @@ Open the `app.component.ts` and add the below content:
```js ```js
import { ..., AddReplaceableComponent } from '@abp/ng.core'; // imported AddReplaceableComponent import { ..., AddReplaceableComponent } from '@abp/ng.core'; // imported AddReplaceableComponent
import { eThemeBasicComponents } from '@abp/ng.theme.basic'; // imported eThemeBasicComponents enum for component keys
import { MyApplicationLayoutComponent } from './shared/my-application-layout/my-application-layout.component'; // imported MyApplicationLayoutComponent import { MyApplicationLayoutComponent } from './shared/my-application-layout/my-application-layout.component'; // imported MyApplicationLayoutComponent
import { Store } from '@ngxs/store'; // imported Store import { Store } from '@ngxs/store'; // imported Store
//... //...
@ -67,7 +71,7 @@ export class AppComponent {
this.store.dispatch( this.store.dispatch(
new AddReplaceableComponent({ new AddReplaceableComponent({
component: MyApplicationLayoutComponent, component: MyApplicationLayoutComponent,
key: 'Theme.ApplicationLayoutComponent', key: eThemeBasicComponents.ApplicationLayout,
}), }),
); );
@ -76,24 +80,6 @@ export class AppComponent {
} }
``` ```
### Available Replaceable Components
| Component key | Description |
| -------------------------------------------------- | --------------------------------------------- |
| Account.LoginComponent | Login page |
| Account.RegisterComponent | Register page |
| Account.ManageProfileComponent | Manage Profile page |
| Account.AuthWrapperComponent | This component wraps register and login pages |
| Account.ChangePasswordComponent | Change password form |
| Account.PersonalSettingsComponent | Personal settings form |
| Account.TenantBoxComponentInputs | Tenant changing box |
| FeatureManagement.FeatureManagementComponent | Features modal |
| Identity.UsersComponent | Users page |
| Identity.RolesComponent | Roles page |
| PermissionManagement.PermissionManagementComponent | Permissions modal |
| SettingManagement.SettingManagementComponent | Setting Management page |
| TenantManagement.TenantsComponent | Tenants page |
## What's Next? ## What's Next?
- [Custom Setting Page](./Custom-Setting-Page.md) - [Custom Setting Page](./Custom-Setting-Page.md)

4
npm/ng-packs/.vscode/settings.json

@ -18,7 +18,9 @@
"titleBar.inactiveForeground": "#e7e7e799", "titleBar.inactiveForeground": "#e7e7e799",
"statusBar.background": "#1d70a2", "statusBar.background": "#1d70a2",
"statusBarItem.hoverBackground": "#258ecd", "statusBarItem.hoverBackground": "#258ecd",
"statusBar.foreground": "#e7e7e7" "statusBar.foreground": "#e7e7e7",
"statusBar.border": "#1d70a2",
"titleBar.border": "#1d70a2"
}, },
"peacock.color": "#1D70A2" "peacock.color": "#1D70A2"
} }

26
npm/ng-packs/package.json

@ -22,19 +22,19 @@
"generate:changelog": "conventional-changelog -p angular -i CHANGELOG.md -s" "generate:changelog": "conventional-changelog -p angular -i CHANGELOG.md -s"
}, },
"devDependencies": { "devDependencies": {
"@abp/ng.account": "~2.4.1", "@abp/ng.account": "~2.5.0",
"@abp/ng.account.config": "~2.4.1", "@abp/ng.account.config": "~2.5.0",
"@abp/ng.core": "^2.4.1", "@abp/ng.core": "~2.5.0",
"@abp/ng.feature-management": "^2.4.1", "@abp/ng.feature-management": "~2.5.0",
"@abp/ng.identity": "~2.4.1", "@abp/ng.identity": "~2.5.0",
"@abp/ng.identity.config": "~2.4.1", "@abp/ng.identity.config": "~2.5.0",
"@abp/ng.permission-management": "^2.4.1", "@abp/ng.permission-management": "~2.5.0",
"@abp/ng.setting-management": "~2.4.1", "@abp/ng.setting-management": "~2.5.0",
"@abp/ng.setting-management.config": "~2.4.1", "@abp/ng.setting-management.config": "~2.5.0",
"@abp/ng.tenant-management": "~2.4.1", "@abp/ng.tenant-management": "~2.5.0",
"@abp/ng.tenant-management.config": "~2.4.1", "@abp/ng.tenant-management.config": "~2.5.0",
"@abp/ng.theme.basic": "~2.4.1", "@abp/ng.theme.basic": "~2.5.0",
"@abp/ng.theme.shared": "^2.4.1", "@abp/ng.theme.shared": "~2.5.0",
"@abp/utils": "^2.4.0", "@abp/utils": "^2.4.0",
"@angular-builders/jest": "^8.2.0", "@angular-builders/jest": "^8.2.0",
"@angular-devkit/build-angular": "~0.803.21", "@angular-devkit/build-angular": "~0.803.21",

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

@ -7,8 +7,8 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.account.config": "^2.5.0", "@abp/ng.account.config": "~2.5.0",
"@abp/ng.theme.shared": "^2.5.0" "@abp/ng.theme.shared": "~2.5.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

7
npm/ng-packs/packages/account/src/lib/account-routing.module.ts

@ -9,6 +9,7 @@ import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './components/login/login.component'; import { LoginComponent } from './components/login/login.component';
import { ManageProfileComponent } from './components/manage-profile/manage-profile.component'; import { ManageProfileComponent } from './components/manage-profile/manage-profile.component';
import { RegisterComponent } from './components/register/register.component'; import { RegisterComponent } from './components/register/register.component';
import { eAccountComponents } from './enums/components';
const routes: Routes = [ const routes: Routes = [
{ path: '', pathMatch: 'full', redirectTo: 'login' }, { path: '', pathMatch: 'full', redirectTo: 'login' },
@ -21,7 +22,7 @@ const routes: Routes = [
component: ReplaceableRouteContainerComponent, component: ReplaceableRouteContainerComponent,
data: { data: {
replaceableComponent: { replaceableComponent: {
key: 'Account.LoginComponent', key: eAccountComponents.Login,
defaultComponent: LoginComponent, defaultComponent: LoginComponent,
} as ReplaceableComponents.RouteData<LoginComponent>, } as ReplaceableComponents.RouteData<LoginComponent>,
}, },
@ -31,7 +32,7 @@ const routes: Routes = [
component: ReplaceableRouteContainerComponent, component: ReplaceableRouteContainerComponent,
data: { data: {
replaceableComponent: { replaceableComponent: {
key: 'Account.RegisterComponent', key: eAccountComponents.Register,
defaultComponent: RegisterComponent, defaultComponent: RegisterComponent,
} as ReplaceableComponents.RouteData<RegisterComponent>, } as ReplaceableComponents.RouteData<RegisterComponent>,
}, },
@ -42,7 +43,7 @@ const routes: Routes = [
canActivate: [AuthGuard], canActivate: [AuthGuard],
data: { data: {
replaceableComponent: { replaceableComponent: {
key: 'Account.ManageProfileComponent', key: eAccountComponents.ManageProfile,
defaultComponent: ManageProfileComponent, defaultComponent: ManageProfileComponent,
} as ReplaceableComponents.RouteData<ManageProfileComponent>, } as ReplaceableComponents.RouteData<ManageProfileComponent>,
}, },

4
npm/ng-packs/packages/account/src/lib/components/auth-wrapper/auth-wrapper.component.html

@ -1,9 +1,7 @@
<div class="row"> <div class="row">
<div class="mx-auto col col-md-5"> <div class="mx-auto col col-md-5">
<ng-container *ngIf="isMultiTenancyEnabled$ | async"> <ng-container *ngIf="isMultiTenancyEnabled$ | async">
<abp-tenant-box <abp-tenant-box *abpReplaceableTemplate="{ componentKey: tenantBoxKey }"></abp-tenant-box>
*abpReplaceableTemplate="{ componentKey: 'Account.TenantBoxComponent' }"
></abp-tenant-box>
</ng-container> </ng-container>
<div class="abp-account-container"> <div class="abp-account-container">

3
npm/ng-packs/packages/account/src/lib/components/auth-wrapper/auth-wrapper.component.ts

@ -3,6 +3,7 @@ import { Component, Input, OnDestroy, OnInit, TemplateRef } from '@angular/core'
import { Select, Store } from '@ngxs/store'; import { Select, Store } from '@ngxs/store';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { Account } from '../../models/account'; import { Account } from '../../models/account';
import { eAccountComponents } from '../../enums/components';
@Component({ @Component({
selector: 'abp-auth-wrapper', selector: 'abp-auth-wrapper',
@ -26,6 +27,8 @@ export class AuthWrapperComponent
enableLocalLogin = true; enableLocalLogin = true;
tenantBoxKey = eAccountComponents.TenantBox;
constructor(private store: Store) {} constructor(private store: Store) {}
ngOnInit() { ngOnInit() {

2
npm/ng-packs/packages/account/src/lib/components/login/login.component.html

@ -1,6 +1,6 @@
<abp-auth-wrapper <abp-auth-wrapper
*abpReplaceableTemplate="{ *abpReplaceableTemplate="{
componentKey: 'Account.AuthWrapperComponent', componentKey: authWrapperKey,
inputs: { inputs: {
mainContentRef: { value: mainContentRef }, mainContentRef: { value: mainContentRef },
cancelContentRef: { value: cancelContentRef } cancelContentRef: { value: cancelContentRef }

3
npm/ng-packs/packages/account/src/lib/components/login/login.component.ts

@ -7,6 +7,7 @@ import { OAuthService } from 'angular-oauth2-oidc';
import { throwError } from 'rxjs'; import { throwError } from 'rxjs';
import { catchError, finalize } from 'rxjs/operators'; import { catchError, finalize } from 'rxjs/operators';
import snq from 'snq'; import snq from 'snq';
import { eAccountComponents } from '../../enums/components';
const { maxLength, minLength, required } = Validators; const { maxLength, minLength, required } = Validators;
@ -21,6 +22,8 @@ export class LoginComponent implements OnInit {
isSelfRegistrationEnabled = true; isSelfRegistrationEnabled = true;
authWrapperKey = eAccountComponents.AuthWrapper;
constructor( constructor(
private fb: FormBuilder, private fb: FormBuilder,
private oauthService: OAuthService, private oauthService: OAuthService,

4
npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.html

@ -33,7 +33,7 @@
<hr /> <hr />
</h4> </h4>
<abp-change-password-form <abp-change-password-form
*abpReplaceableTemplate="{ componentKey: 'Account.ChangePasswordComponent' }" *abpReplaceableTemplate="{ componentKey: changePasswordKey }"
></abp-change-password-form> ></abp-change-password-form>
</div> </div>
</div> </div>
@ -44,7 +44,7 @@
<hr /> <hr />
</h4> </h4>
<abp-personal-settings-form <abp-personal-settings-form
*abpReplaceableTemplate="{ componentKey: 'Account.PersonalSettingsComponent' }" *abpReplaceableTemplate="{ componentKey: personalSettingsKey }"
></abp-personal-settings-form> ></abp-personal-settings-form>
</div> </div>
</div> </div>

5
npm/ng-packs/packages/account/src/lib/components/manage-profile/manage-profile.component.ts

@ -1,6 +1,7 @@
import { fadeIn } from '@abp/ng.theme.shared'; import { fadeIn } from '@abp/ng.theme.shared';
import { transition, trigger, useAnimation } from '@angular/animations'; import { transition, trigger, useAnimation } from '@angular/animations';
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { eAccountComponents } from '../../enums/components';
@Component({ @Component({
selector: 'abp-manage-profile', selector: 'abp-manage-profile',
@ -9,4 +10,8 @@ import { Component } from '@angular/core';
}) })
export class ManageProfileComponent { export class ManageProfileComponent {
selectedTab = 0; selectedTab = 0;
changePasswordKey = eAccountComponents.ChangePassword;
personalSettingsKey = eAccountComponents.PersonalSettings;
} }

2
npm/ng-packs/packages/account/src/lib/components/register/register.component.html

@ -1,6 +1,6 @@
<abp-auth-wrapper <abp-auth-wrapper
*abpReplaceableTemplate="{ *abpReplaceableTemplate="{
componentKey: 'Account.AuthWrapperComponent', componentKey: authWrapperKey,
inputs: { inputs: {
mainContentRef: { value: mainContentRef } mainContentRef: { value: mainContentRef }
} }

3
npm/ng-packs/packages/account/src/lib/components/register/register.component.ts

@ -9,6 +9,7 @@ import { catchError, finalize, switchMap } from 'rxjs/operators';
import snq from 'snq'; import snq from 'snq';
import { RegisterRequest } from '../../models'; import { RegisterRequest } from '../../models';
import { AccountService } from '../../services/account.service'; import { AccountService } from '../../services/account.service';
import { eAccountComponents } from '../../enums/components';
const { maxLength, required, email } = Validators; const { maxLength, required, email } = Validators;
@Component({ @Component({
@ -22,6 +23,8 @@ export class RegisterComponent implements OnInit {
isSelfRegistrationEnabled = true; isSelfRegistrationEnabled = true;
authWrapperKey = eAccountComponents.AuthWrapper;
constructor( constructor(
private fb: FormBuilder, private fb: FormBuilder,
private accountService: AccountService, private accountService: AccountService,

9
npm/ng-packs/packages/account/src/lib/enums/components.ts

@ -0,0 +1,9 @@
export const enum eAccountComponents {
Login = 'Account.LoginComponent',
Register = 'Account.RegisterComponent',
ManageProfile = 'Account.ManageProfileComponent',
TenantBox = 'Account.TenantBoxComponent',
AuthWrapper = 'Account.AuthWrapperComponent',
ChangePassword = 'Account.ChangePasswordComponent',
PersonalSettings = 'Account.PersonalSettingsComponent',
}

1
npm/ng-packs/packages/account/src/public-api.ts

@ -1,5 +1,6 @@
export * from './lib/account.module'; export * from './lib/account.module';
export * from './lib/components'; export * from './lib/components';
export * from './lib/enums/components';
export * from './lib/tokens'; export * from './lib/tokens';
export * from './lib/models'; export * from './lib/models';
export * from './lib/services'; export * from './lib/services';

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

@ -7,7 +7,7 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "^2.5.0" "@abp/ng.theme.shared": "~2.5.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

3
npm/ng-packs/packages/feature-management/src/lib/enums/components.ts

@ -0,0 +1,3 @@
export const enum eFeatureManagementComponents {
FeatureManagement = 'FeatureManagement.FeatureManagementComponent',
}

1
npm/ng-packs/packages/feature-management/src/public-api.ts

@ -1,2 +1,3 @@
export * from './lib/feature-management.module'; export * from './lib/feature-management.module';
export * from './lib/components'; export * from './lib/components';
export * from './lib/enums/components';

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

@ -7,9 +7,9 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.identity.config": "^2.5.0", "@abp/ng.identity.config": "~2.5.0",
"@abp/ng.permission-management": "^2.5.0", "@abp/ng.permission-management": "~2.5.0",
"@abp/ng.theme.shared": "^2.5.0" "@abp/ng.theme.shared": "~2.5.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

2
npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html

@ -166,7 +166,7 @@
hideBadges: { value: true } hideBadges: { value: true }
}, },
outputs: { visibleChange: onVisiblePermissionChange }, outputs: { visibleChange: onVisiblePermissionChange },
componentKey: 'PermissionManagement.PermissionManagementComponent' componentKey: permissionManagementKey
}; };
let init = initTemplate let init = initTemplate
" "

3
npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts

@ -14,6 +14,7 @@ import {
} from '../../actions/identity.actions'; } from '../../actions/identity.actions';
import { Identity } from '../../models/identity'; import { Identity } from '../../models/identity';
import { IdentityState } from '../../states/identity.state'; import { IdentityState } from '../../states/identity.state';
import { ePermissionManagementComponents } from '@abp/ng.permission-management';
@Component({ @Component({
selector: 'abp-roles', selector: 'abp-roles',
@ -46,6 +47,8 @@ export class RolesComponent implements OnInit {
sortKey = ''; sortKey = '';
permissionManagementKey = ePermissionManagementComponents.PermissionManagement;
@ViewChild('formRef', { static: false, read: ElementRef }) @ViewChild('formRef', { static: false, read: ElementRef })
formRef: ElementRef<HTMLFormElement>; formRef: ElementRef<HTMLFormElement>;

2
npm/ng-packs/packages/identity/src/lib/components/users/users.component.html

@ -262,7 +262,7 @@
visible: { value: visiblePermissions, twoWay: true } visible: { value: visiblePermissions, twoWay: true }
}, },
outputs: { visibleChange: onVisiblePermissionChange }, outputs: { visibleChange: onVisiblePermissionChange },
componentKey: 'PermissionManagement.PermissionManagementComponent' componentKey: permissionManagementKey
}; };
let init = initTemplate let init = initTemplate
" "

3
npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts

@ -24,6 +24,7 @@ import {
import { Identity } from '../../models/identity'; import { Identity } from '../../models/identity';
import { IdentityService } from '../../services/identity.service'; import { IdentityService } from '../../services/identity.service';
import { IdentityState } from '../../states/identity.state'; import { IdentityState } from '../../states/identity.state';
import { ePermissionManagementComponents } from '@abp/ng.permission-management';
@Component({ @Component({
selector: 'abp-users', selector: 'abp-users',
templateUrl: './users.component.html', templateUrl: './users.component.html',
@ -62,6 +63,8 @@ export class UsersComponent implements OnInit {
sortKey = ''; sortKey = '';
permissionManagementKey = ePermissionManagementComponents.PermissionManagement;
trackByFn: TrackByFunction<AbstractControl> = (index, item) => Object.keys(item)[0] || index; trackByFn: TrackByFunction<AbstractControl> = (index, item) => Object.keys(item)[0] || index;
onVisiblePermissionChange = event => { onVisiblePermissionChange = event => {

4
npm/ng-packs/packages/identity/src/lib/enums/components.ts

@ -0,0 +1,4 @@
export const enum eIdentityComponents {
Roles = 'Identity.RolesComponent',
Users = 'Identity.UsersComponent',
}

5
npm/ng-packs/packages/identity/src/lib/identity-routing.module.ts

@ -10,6 +10,7 @@ import { NgModule, Type } from '@angular/core';
import { RouterModule, Routes, Router, ActivatedRoute } from '@angular/router'; import { RouterModule, Routes, Router, ActivatedRoute } from '@angular/router';
import { RolesComponent } from './components/roles/roles.component'; import { RolesComponent } from './components/roles/roles.component';
import { UsersComponent } from './components/users/users.component'; import { UsersComponent } from './components/users/users.component';
import { eIdentityComponents } from './enums/components';
const routes: Routes = [ const routes: Routes = [
{ path: '', redirectTo: 'roles', pathMatch: 'full' }, { path: '', redirectTo: 'roles', pathMatch: 'full' },
@ -24,7 +25,7 @@ const routes: Routes = [
data: { data: {
requiredPolicy: 'AbpIdentity.Roles', requiredPolicy: 'AbpIdentity.Roles',
replaceableComponent: { replaceableComponent: {
key: 'Identity.RolesComponent', key: eIdentityComponents.Roles,
defaultComponent: RolesComponent, defaultComponent: RolesComponent,
} as ReplaceableComponents.RouteData<RolesComponent>, } as ReplaceableComponents.RouteData<RolesComponent>,
}, },
@ -35,7 +36,7 @@ const routes: Routes = [
data: { data: {
requiredPolicy: 'AbpIdentity.Users', requiredPolicy: 'AbpIdentity.Users',
replaceableComponent: { replaceableComponent: {
key: 'Identity.UsersComponent', key: eIdentityComponents.Users,
defaultComponent: UsersComponent, defaultComponent: UsersComponent,
} as ReplaceableComponents.RouteData<UsersComponent>, } as ReplaceableComponents.RouteData<UsersComponent>,
}, },

1
npm/ng-packs/packages/identity/src/public-api.ts

@ -4,6 +4,7 @@
export * from './lib/identity.module'; export * from './lib/identity.module';
export * from './lib/actions/identity.actions'; export * from './lib/actions/identity.actions';
export * from './lib/enums/components';
export * from './lib/components'; export * from './lib/components';
export * from './lib/models/identity'; export * from './lib/models/identity';
export * from './lib/services'; export * from './lib/services';

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

@ -7,7 +7,7 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "^2.5.0" "@abp/ng.theme.shared": "~2.5.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

3
npm/ng-packs/packages/permission-management/src/lib/enums/components.ts

@ -0,0 +1,3 @@
export const enum ePermissionManagementComponents {
PermissionManagement = 'PermissionManagement.PermissionManagementComponent',
}

1
npm/ng-packs/packages/permission-management/src/public-api.ts

@ -5,6 +5,7 @@
export * from './lib/permission-management.module'; export * from './lib/permission-management.module';
export * from './lib/actions'; export * from './lib/actions';
export * from './lib/components'; export * from './lib/components';
export * from './lib/enums/components';
export * from './lib/models'; export * from './lib/models';
export * from './lib/services'; export * from './lib/services';
export * from './lib/states'; export * from './lib/states';

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

@ -7,8 +7,8 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.setting-management.config": "^2.5.0", "@abp/ng.setting-management.config": "~2.5.0",
"@abp/ng.theme.shared": "^2.5.0" "@abp/ng.theme.shared": "~2.5.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

3
npm/ng-packs/packages/setting-management/src/lib/enums/components.ts

@ -0,0 +1,3 @@
export const enum eSettingManagementComponents {
SettingManagement = 'SettingManagement.SettingManagementComponent',
}

3
npm/ng-packs/packages/setting-management/src/lib/setting-management-routing.module.ts

@ -6,6 +6,7 @@ import {
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import { SettingManagementComponent } from './components/setting-management.component'; import { SettingManagementComponent } from './components/setting-management.component';
import { eSettingManagementComponents } from './enums/components';
const routes: Routes = [ const routes: Routes = [
{ {
@ -18,7 +19,7 @@ const routes: Routes = [
data: { data: {
requiredPolicy: 'AbpAccount.SettingManagement', requiredPolicy: 'AbpAccount.SettingManagement',
replaceableComponent: { replaceableComponent: {
key: 'SettingManagement.SettingManagementComponent', key: eSettingManagementComponents.SettingManagement,
defaultComponent: SettingManagementComponent, defaultComponent: SettingManagementComponent,
} as ReplaceableComponents.RouteData, } as ReplaceableComponents.RouteData,
}, },

1
npm/ng-packs/packages/setting-management/src/public-api.ts

@ -1,2 +1,3 @@
export * from './lib/setting-management.module'; export * from './lib/setting-management.module';
export * from './lib/components/setting-management.component'; export * from './lib/components/setting-management.component';
export * from './lib/enums/components';

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

@ -7,9 +7,9 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.feature-management": "^2.5.0", "@abp/ng.feature-management": "~2.5.0",
"@abp/ng.tenant-management.config": "^2.5.0", "@abp/ng.tenant-management.config": "~2.5.0",
"@abp/ng.theme.shared": "^2.5.0" "@abp/ng.theme.shared": "~2.5.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

10
npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html

@ -141,7 +141,9 @@
<input type="text" id="name" class="form-control" formControlName="name" autofocus /> <input type="text" id="name" class="form-control" formControlName="name" autofocus />
</div> </div>
<div class="form-group" *ngIf="tenantForm.controls.adminEmailAddress"> <div class="form-group" *ngIf="tenantForm.controls.adminEmailAddress">
<label for="name">{{ 'AbpTenantManagement::DisplayName:AdminEmailAddress' | abpLocalization }}</label> <label for="name">{{
'AbpTenantManagement::DisplayName:AdminEmailAddress' | abpLocalization
}}</label>
<input <input
autocomplete="email" autocomplete="email"
type="email" type="email"
@ -151,7 +153,9 @@
/> />
</div> </div>
<div class="form-group" *ngIf="tenantForm.controls.adminPassword"> <div class="form-group" *ngIf="tenantForm.controls.adminPassword">
<label for="name">{{ 'AbpTenantManagement::DisplayName:AdminPassword' | abpLocalization }}</label> <label for="name">{{
'AbpTenantManagement::DisplayName:AdminPassword' | abpLocalization
}}</label>
<input <input
autocomplete="new-password" autocomplete="new-password"
type="password" type="password"
@ -203,7 +207,7 @@
visible: { value: visibleFeatures, twoWay: true } visible: { value: visibleFeatures, twoWay: true }
}, },
outputs: { visibleChange: onVisibleFeaturesChange }, outputs: { visibleChange: onVisibleFeaturesChange },
componentKey: 'FeatureManagement.FeatureManagementComponent' componentKey: featureManagementKey
}" }"
[(visible)]="visibleFeatures" [(visible)]="visibleFeatures"
providerName="T" providerName="T"

3
npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts

@ -14,6 +14,7 @@ import {
} from '../../actions/tenant-management.actions'; } from '../../actions/tenant-management.actions';
import { TenantManagementService } from '../../services/tenant-management.service'; import { TenantManagementService } from '../../services/tenant-management.service';
import { TenantManagementState } from '../../states/tenant-management.state'; import { TenantManagementState } from '../../states/tenant-management.state';
import { eFeatureManagementComponents } from '@abp/ng.feature-management';
interface SelectedModalContent { interface SelectedModalContent {
type: 'saveConnStr' | 'saveTenant'; type: 'saveConnStr' | 'saveTenant';
@ -60,6 +61,8 @@ export class TenantsComponent implements OnInit {
sortKey = ''; sortKey = '';
featureManagementKey = eFeatureManagementComponents.FeatureManagement;
get hasSelectedTenant(): boolean { get hasSelectedTenant(): boolean {
return Boolean(this.selected.id); return Boolean(this.selected.id);
} }

3
npm/ng-packs/packages/tenant-management/src/lib/enums/components.ts

@ -0,0 +1,3 @@
export const enum eTenantManagementComponents {
Tenants = 'TenantManagement.TenantsComponent',
}

3
npm/ng-packs/packages/tenant-management/src/lib/tenant-management-routing.module.ts

@ -8,6 +8,7 @@ import {
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import { TenantsComponent } from './components/tenants/tenants.component'; import { TenantsComponent } from './components/tenants/tenants.component';
import { eTenantManagementComponents } from './enums/components';
const routes: Routes = [ const routes: Routes = [
{ path: '', redirectTo: 'tenants', pathMatch: 'full' }, { path: '', redirectTo: 'tenants', pathMatch: 'full' },
@ -22,7 +23,7 @@ const routes: Routes = [
data: { data: {
requiredPolicy: 'AbpTenantManagement.Tenants', requiredPolicy: 'AbpTenantManagement.Tenants',
replaceableComponent: { replaceableComponent: {
key: 'TenantManagement.TenantsComponent', key: eTenantManagementComponents.Tenants,
defaultComponent: TenantsComponent, defaultComponent: TenantsComponent,
} as ReplaceableComponents.RouteData<TenantsComponent>, } as ReplaceableComponents.RouteData<TenantsComponent>,
}, },

1
npm/ng-packs/packages/tenant-management/src/public-api.ts

@ -1,6 +1,7 @@
export * from './lib/tenant-management.module'; export * from './lib/tenant-management.module';
export * from './lib/actions'; export * from './lib/actions';
export * from './lib/components'; export * from './lib/components';
export * from './lib/enums/components';
export * from './lib/models'; export * from './lib/models';
export * from './lib/services'; export * from './lib/services';
export * from './lib/states'; export * from './lib/states';

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

@ -7,7 +7,7 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "^2.5.0" "@abp/ng.theme.shared": "~2.5.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

5
npm/ng-packs/packages/theme-basic/src/lib/enums/components.ts

@ -0,0 +1,5 @@
export const enum eThemeBasicComponents {
ApplicationLayout = 'Theme.ApplicationLayoutComponent',
AccountLayout = 'Theme.AccountLayoutComponent',
EmptyLayout = 'Theme.EmptyLayoutComponent',
}

7
npm/ng-packs/packages/theme-basic/src/lib/services/initial.service.ts

@ -5,6 +5,7 @@ import styles from '../constants/styles';
import { ApplicationLayoutComponent } from '../components/application-layout/application-layout.component'; import { ApplicationLayoutComponent } from '../components/application-layout/application-layout.component';
import { AccountLayoutComponent } from '../components/account-layout/account-layout.component'; import { AccountLayoutComponent } from '../components/account-layout/account-layout.component';
import { EmptyLayoutComponent } from '../components/empty-layout/empty-layout.component'; import { EmptyLayoutComponent } from '../components/empty-layout/empty-layout.component';
import { eThemeBasicComponents } from '../enums/components';
@Injectable({ providedIn: 'root' }) @Injectable({ providedIn: 'root' })
export class InitialService { export class InitialService {
@ -13,15 +14,15 @@ export class InitialService {
this.store.dispatch([ this.store.dispatch([
new AddReplaceableComponent({ new AddReplaceableComponent({
key: 'Theme.ApplicationLayoutComponent', key: eThemeBasicComponents.ApplicationLayout,
component: ApplicationLayoutComponent, component: ApplicationLayoutComponent,
}), }),
new AddReplaceableComponent({ new AddReplaceableComponent({
key: 'Theme.AccountLayoutComponent', key: eThemeBasicComponents.AccountLayout,
component: AccountLayoutComponent, component: AccountLayoutComponent,
}), }),
new AddReplaceableComponent({ new AddReplaceableComponent({
key: 'Theme.EmptyLayoutComponent', key: eThemeBasicComponents.EmptyLayout,
component: EmptyLayoutComponent, component: EmptyLayoutComponent,
}), }),
]); ]);

1
npm/ng-packs/packages/theme-basic/src/public-api.ts

@ -5,5 +5,6 @@
export * from './lib/theme-basic.module'; export * from './lib/theme-basic.module';
export * from './lib/actions'; export * from './lib/actions';
export * from './lib/components'; export * from './lib/components';
export * from './lib/enums/components';
export * from './lib/models'; export * from './lib/models';
export * from './lib/states'; export * from './lib/states';

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

@ -7,7 +7,7 @@
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.core": "^2.5.0", "@abp/ng.core": "~2.5.0",
"@fortawesome/fontawesome-free": "^5.12.1", "@fortawesome/fontawesome-free": "^5.12.1",
"@ng-bootstrap/ng-bootstrap": "^5.3.0", "@ng-bootstrap/ng-bootstrap": "^5.3.0",
"@ngx-validate/core": "^0.0.7", "@ngx-validate/core": "^0.0.7",

132
npm/ng-packs/yarn.lock

@ -2,26 +2,26 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/ng.account.config@^2.4.1", "@abp/ng.account.config@~2.4.1": "@abp/ng.account.config@^2.5.0", "@abp/ng.account.config@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.account.config/-/ng.account.config-2.4.1.tgz#871f3947d7751203ba8fd00902b5e87c2894cca1" resolved "https://registry.yarnpkg.com/@abp/ng.account.config/-/ng.account.config-2.5.0.tgz#08122916985765f62b0cd9ef2d9a8609a485131b"
integrity sha512-6ikmQi+hmZi59xtEq54MZftH0i9qzxYWex4lk33woBiNXHYBKA/AzrXkksgjnQgmN5kydxGsHcq2vlAgb+WgSA== integrity sha512-Ld7nsGOw3TafWaJ64umHB3NwI4tgeLKkhU6IO7/Dbx0UZvcRepND07pLPAbpgxPxSffNDmREHnA+lrtP1i96vA==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.account@~2.4.1": "@abp/ng.account@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.account/-/ng.account-2.4.1.tgz#09c51101b2511f0352ffd3ef56b5f2e74d81cead" resolved "https://registry.yarnpkg.com/@abp/ng.account/-/ng.account-2.5.0.tgz#b5271da490136f7e23cbae21588e9fd6f8f398c7"
integrity sha512-mFhFPKPsmHNYKBXWxK2ht9TkXccj5xkPfn3PGSkX0QiqJZ+SrJBb3bYa2VOsQ9BstWB1/FEX3ke07MB5h4uRTQ== integrity sha512-C6RD9L0+gkyjuCSUGP9C55h+oMIoPNkSe3fF4RWkLaqb1hLriIEqyeTODHnhdV4TfEVkVCmhS88XhoNGwmFz/g==
dependencies: dependencies:
"@abp/ng.account.config" "^2.4.1" "@abp/ng.account.config" "^2.5.0"
"@abp/ng.theme.shared" "^2.4.1" "@abp/ng.theme.shared" "^2.5.0"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.core@^2.4.1": "@abp/ng.core@^2.5.0", "@abp/ng.core@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-2.4.1.tgz#4a568ef1f0d9e33de555a8942a0ef421e754d55f" resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-2.5.0.tgz#e7168615b4078e3fa494c4efcc69842acbd2c627"
integrity sha512-aML9iyneu8UDaKP1x4dBzr20EVXhaVO75g1A235OEqT+qYJ7Z1qXgp01u8DgeNM+jxNWc2UVYgtPf5SbMJsR4Q== integrity sha512-opYkOFCKeU17YvNJhfcG1dOwZZ4F2QGspTNTagNZ9fepmeNl0yqFamFdRM6irfEEL3cOBQhUpI2NQZP+ugLOEg==
dependencies: dependencies:
"@abp/utils" "^2.4.0" "@abp/utils" "^2.4.0"
"@angular/localize" "~9.1.0" "@angular/localize" "~9.1.0"
@ -35,86 +35,86 @@
ts-toolbelt "^6.3.6" ts-toolbelt "^6.3.6"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.feature-management@^2.4.1": "@abp/ng.feature-management@^2.5.0", "@abp/ng.feature-management@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-2.4.1.tgz#4e7f16fcf109d76bd3eadb296a54730da770c8c1" resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-2.5.0.tgz#3bc4501a2abbe6b6447e5b4a2b2d86fb07ce8a59"
integrity sha512-adkQKFr1XsYAq/qpXxtLo5ULBuTer12viPLgfldEmsnsGWi/0bCVr0U4Gw+4KdsE2SjmcMriaZnL2/yVJa5rjA== integrity sha512-keZ3gCDMvU/e17tsBBrZpLmpIpDm/2TTSAmCoRRy3GH4BQICXr/XJmssStNx7V7sdo6vAPiW9pcM9zI/C8IrBw==
dependencies: dependencies:
"@abp/ng.theme.shared" "^2.4.1" "@abp/ng.theme.shared" "^2.5.0"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.identity.config@^2.4.1", "@abp/ng.identity.config@~2.4.1": "@abp/ng.identity.config@^2.5.0", "@abp/ng.identity.config@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.identity.config/-/ng.identity.config-2.4.1.tgz#74a0c3b18ba1737b83144f1b03c97e75dc1afe0b" resolved "https://registry.yarnpkg.com/@abp/ng.identity.config/-/ng.identity.config-2.5.0.tgz#d5daad786ae8c6d61e887f4ec52497635abfff94"
integrity sha512-PeieQ/GeThgxx22n3rBnqPQuCylB5+0Vog53GAhFQFXXH5W0vMDbxTARYnQr74gnAf3UYS48XzEzyvAuIz1MGg== integrity sha512-nvVkRzT3gsLZTzjjMkR20FjmmnxDC7viUNRSjp4ufGqHfWbUaNS16chrWqvr+0f7JEzeULKWfXQEjWafqLWBbg==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.identity@~2.4.1": "@abp/ng.identity@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-2.4.1.tgz#ede6ebcc1d7d2f15ce9aeeb3ab8b25bb26def5cd" resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-2.5.0.tgz#b2e2dea559ce89dce52a82cf02d612864076ab2c"
integrity sha512-4T1BnvL13UggIj0SrV5AWN1VLMnej59jaLEyjAbu1Myry9xeiQ8Grh0GOBJ6euNOKiuYtqwQlFl06NlLdHqu2g== integrity sha512-RIZnYRhNMbyjaX/Nb43fgG8/hBcvfBLpd3ZpP6arJDUY4YLvN3zvGJ9d52+3nGgj9WpXZTm+/X7c8Iuu5a2ocA==
dependencies: dependencies:
"@abp/ng.identity.config" "^2.4.1" "@abp/ng.identity.config" "^2.5.0"
"@abp/ng.permission-management" "^2.4.1" "@abp/ng.permission-management" "^2.5.0"
"@abp/ng.theme.shared" "^2.4.1" "@abp/ng.theme.shared" "^2.5.0"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.permission-management@^2.4.1": "@abp/ng.permission-management@^2.5.0", "@abp/ng.permission-management@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-2.4.1.tgz#e58d650fbcf8a161bbce01083b35891cba3e1aa4" resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-2.5.0.tgz#c769a97aee8517ec724dc5b7756e1dfc8fe7fcf1"
integrity sha512-gNfVmXAIPQP+L5Bq4bj/LAU+mKhJqAd9AQKxDLmqmoXpNjrjxA0Y51bU/XY/mjYx+tZC2i59L+eMIOZfVmn3Dw== integrity sha512-grmJ46Qf26cwGfDt5acL6eXXWBDgjvL/04/ZLtxsP4Hf+tSlnL/1rWz5fxMF8548sQ6vZlVIdrSa4Tz/Dh0WLw==
dependencies: dependencies:
"@abp/ng.theme.shared" "^2.4.1" "@abp/ng.theme.shared" "^2.5.0"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.setting-management.config@^2.4.1", "@abp/ng.setting-management.config@~2.4.1": "@abp/ng.setting-management.config@^2.5.0", "@abp/ng.setting-management.config@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.setting-management.config/-/ng.setting-management.config-2.4.1.tgz#4e643934647aaf5f5ea70045364e8856a1958bf5" resolved "https://registry.yarnpkg.com/@abp/ng.setting-management.config/-/ng.setting-management.config-2.5.0.tgz#4841d73b9df7763084dcac45bd656fbee87c4602"
integrity sha512-z76nIPa9NCUqJwS2UYYCNrOsv9r+EfJ+e32iplrN5anqSfi0q2QAbK/Qjo7PIaB6x/JsEER/zQ5gAFKfPle41w== integrity sha512-mSihz0aoB5Ly+tanPE4Vh3Aam9g3nDtSQelUuFJoyRnw1HSmMmWOqnJi9UEguhCEBtww9G5P6OC8/icpHaq/3Q==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.setting-management@~2.4.1": "@abp/ng.setting-management@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-2.4.1.tgz#b3028d8e65866529c2bb6a22980a110fa5247b67" resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-2.5.0.tgz#32291ebc6610838f825cc79d091700d578586e0a"
integrity sha512-oA6ZUJUQFvmY7QLff/cXnmefN2hGTwhD9iumZSckvl1TitOhzJuj1uQ8kT2c0Az13a5R14Zuk44KYwn2wGFeSg== integrity sha512-maamVGc5L/44XsRANXaVYLn9uocGUH8RUtKXZT9iKdlcsemKa7xEMzZ84lzoiAu+xAfqfJm/R7TolC/gWonUDg==
dependencies: dependencies:
"@abp/ng.setting-management.config" "^2.4.1" "@abp/ng.setting-management.config" "^2.5.0"
"@abp/ng.theme.shared" "^2.4.1" "@abp/ng.theme.shared" "^2.5.0"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.tenant-management.config@^2.4.1", "@abp/ng.tenant-management.config@~2.4.1": "@abp/ng.tenant-management.config@^2.5.0", "@abp/ng.tenant-management.config@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management.config/-/ng.tenant-management.config-2.4.1.tgz#fe77a00fee18d2f221e68b7edd1d9d52c4a24595" resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management.config/-/ng.tenant-management.config-2.5.0.tgz#00b3abae5d513d61fcc0aae6c73d64a61d087e5f"
integrity sha512-0WsqESU5eXCkH9A4AVSZCOGOTo+pL8jW9raYxCbxp8A6GGxHA78UiqjLO/ZqA9ercXt9lh2s3JIbclhsOJWHBA== integrity sha512-gaW9n+Fo9AH2OPw3V3qaxTvG8zIe4jjMXKIvzqk+e4djXVjLHZ3fdP+uyJqpMmaypyd2REoVCARqVFHgvZBzaA==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.tenant-management@~2.4.1": "@abp/ng.tenant-management@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-2.4.1.tgz#e9bffd96b1805036d840d078a8e7c78dd027c5eb" resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-2.5.0.tgz#7452ab92d9d7f2bf1200a956e7ad8800c4ccebb1"
integrity sha512-HEyWwXrgKWdrZ84Txw+0k+PGBb/ekqMKmwytOrG3Z7fxTRqWVMP/6QbHcbJD929zR4aehAmEAfvex/210qD1rw== integrity sha512-7O7tsJl2OVbEIiSJ17r+ZJFcynOo89el0RREwihACkBz+2TeQoHo2ycZ7oPXauMy1aRjsjpkmbCJGP28OD0a6w==
dependencies: dependencies:
"@abp/ng.feature-management" "^2.4.1" "@abp/ng.feature-management" "^2.5.0"
"@abp/ng.tenant-management.config" "^2.4.1" "@abp/ng.tenant-management.config" "^2.5.0"
"@abp/ng.theme.shared" "^2.4.1" "@abp/ng.theme.shared" "^2.5.0"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.theme.basic@~2.4.1": "@abp/ng.theme.basic@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-2.4.1.tgz#faf06ea09557323e77ffb648f55ff915ecc252de" resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-2.5.0.tgz#ef13f448ea6f356a5571d364da00e971e715cfec"
integrity sha512-fV9a6wfeWN5C1UmYGDzaT3bQMfkUzAt0T/JRaAiWTsWTUV/y69prGqD2dMEMvdIAPR3zhKK/125N6+apl/l0iQ== integrity sha512-+q22k5AfxgFRtGP4YO602jmeeuH2pfVBzCcJUmwRzE2xiINx4e55zCwKiFl5YvNUttcKkaNNhj9LcOXU6W42rw==
dependencies: dependencies:
"@abp/ng.theme.shared" "^2.4.1" "@abp/ng.theme.shared" "^2.5.0"
tslib "^1.9.0" tslib "^1.9.0"
"@abp/ng.theme.shared@^2.4.1": "@abp/ng.theme.shared@^2.5.0", "@abp/ng.theme.shared@~2.5.0":
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-2.4.1.tgz#1c0c5c1714099136a6ecd256df66602099721ef3" resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-2.5.0.tgz#a9c53f95f1a0bdf2fe046838e64c658ce54c5655"
integrity sha512-iXqVrpjCYkG8Dc6tocn21qDnu2i9bi625CEk7J+U7O+L0X2ECYqHJXH8DqQrEeQ0F3lun0gOXUc3wo83G15PrA== integrity sha512-iRft0LWh9dzpnrKxmo0AuAXND6+o3Eov6LFpNbZD7guuZfeFVehcSX/X0ZYIpq1a/A7cfegtMEokdwRb0cGdGA==
dependencies: dependencies:
"@abp/ng.core" "^2.4.1" "@abp/ng.core" "^2.5.0"
"@fortawesome/fontawesome-free" "^5.12.1" "@fortawesome/fontawesome-free" "^5.12.1"
"@ng-bootstrap/ng-bootstrap" "^5.3.0" "@ng-bootstrap/ng-bootstrap" "^5.3.0"
"@ngx-validate/core" "^0.0.7" "@ngx-validate/core" "^0.0.7"

Loading…
Cancel
Save