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 44edb889e6..436e5c3dd0 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 @@ -83,7 +83,7 @@ - +
@@ -92,7 +92,7 @@
* - +
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 d91bac10c1..22488241f3 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 }}

@@ -24,9 +24,12 @@ 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 7a004003eb..ed2139ecb7 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 @@ -216,14 +216,14 @@ export class PermissionManagementComponent implements OnInit, OnChanges { this.permissions = getPermissions(permissionRes.groups); this.visible = true; - - setTimeout(() => { - this.setTabCheckboxState(); - this.setGrantCheckboxState(); - }, 0); }); } + initModal() { + this.setTabCheckboxState(); + this.setGrantCheckboxState(); + } + ngOnChanges({ visible }: SimpleChanges): void { if (!visible) return; 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 new file mode 100644 index 0000000000..55737ca060 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/button/button.component.ts @@ -0,0 +1,68 @@ +import { LoaderStart, LoaderStop } from '@abp/ng.core'; +import { Component, Input, OnInit } from '@angular/core'; +import { Actions, ofActionSuccessful } from '@ngxs/store'; +import { filter } from 'rxjs/operators'; + +@Component({ + selector: 'abp-button', + template: ` + + `, +}) +export class ButtonComponent implements OnInit { + @Input() + buttonClass: string = 'btn btn-primary'; + + @Input() + buttonType: string = 'button'; + + @Input() + iconClass: string; + + @Input() + loading: 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(LoaderStart, LoaderStop), + filter((event: LoaderStart | LoaderStop) => { + 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(() => { + this.loading = !this.loading; + }); + } + } +} 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 d288f2dafa..2e559f366f 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,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/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 8387246db3..8db9f31cb7 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 @@ -19,7 +19,12 @@
-