Browse Source

enhancement(npm/ng-packs): Adding toaster notifications to account, feature management, identity, permission management, tenant management create, update, delete operations

pull/19326/head
Yusuf Çırak 3 years ago
parent
commit
771675da64
  1. 6
      npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.ts
  2. 3
      npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts
  3. 3
      npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts
  4. 17
      npm/ng-packs/packages/identity/src/lib/components/users/users.component.ts
  5. 47
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts
  6. 3
      npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts

6
npm/ng-packs/packages/account/src/lib/components/personal-settings/personal-settings.component.ts

@ -1,6 +1,6 @@
import { ProfileDto, ProfileService } from '@abp/ng.account.core/proxy';
import { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
import { Component, Inject, Injector, OnInit, ViewEncapsulation } from '@angular/core';
import { Component, Inject, Injector, OnInit } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { finalize, filter } from 'rxjs/operators';
import { Account } from '../../models/account';
@ -76,10 +76,10 @@ export class PersonalSettingsComponent
this.configState.refreshAppState();
this.toasterService.success('AbpAccount::PersonalSettingsSaved', 'Success', { life: 5000 });
if(isRefreshTokenExists){
if (isRefreshTokenExists) {
return this.authService.refreshToken();
}
if (isLogOutConfirmMessageVisible) {
this.showLogoutConfirmMessage();
}

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

@ -11,7 +11,7 @@ import {
LocaleDirection,
ToasterService,
} from '@abp/ng.theme.shared';
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { Component, EventEmitter, Input, Output, inject } from '@angular/core';
import { finalize } from 'rxjs/operators';
import { FeatureManagement } from '../../models/feature-management';
@ -127,6 +127,7 @@ export class FeatureManagementComponent
.subscribe(() => {
this.visible = false;
this.toasterService.success('AbpFeatureManagement::Saved');
if (!this.providerKey) {
// to refresh host's features
this.configState.refreshAppState().subscribe();

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

@ -1,7 +1,7 @@
import { ListService, PagedAndSortedResultRequestDto, PagedResultDto } from '@abp/ng.core';
import { IdentityRoleDto, IdentityRoleService } from '@abp/ng.identity/proxy';
import { ePermissionManagementComponents } from '@abp/ng.permission-management';
import {Confirmation, ConfirmationService, ToasterService} from '@abp/ng.theme.shared';
import { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
import {
EXTENSIONS_IDENTIFIER,
FormPropData,
@ -90,6 +90,7 @@ export class RolesComponent implements OnInit {
.pipe(finalize(() => (this.modalBusy = false)))
.subscribe(() => {
this.isModalVisible = false;
this.toasterService.success('AbpUi::SuccessfullySaved');
this.list.get();
});
}

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

@ -6,7 +6,12 @@ import {
IdentityUserService,
} from '@abp/ng.identity/proxy';
import { ePermissionManagementComponents } from '@abp/ng.permission-management';
import {Confirmation, ConfirmationService, eFormComponets, ToasterService} from '@abp/ng.theme.shared';
import {
Confirmation,
ConfirmationService,
eFormComponets,
ToasterService,
} from '@abp/ng.theme.shared';
import {
EXTENSIONS_IDENTIFIER,
FormPropData,
@ -20,7 +25,12 @@ import {
TrackByFunction,
ViewChild,
} from '@angular/core';
import { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import {
AbstractControl,
UntypedFormArray,
UntypedFormBuilder,
UntypedFormGroup,
} from '@angular/forms';
import { finalize, switchMap, tap } from 'rxjs/operators';
import { eIdentityComponents } from '../../enums/components';
@ -61,7 +71,7 @@ export class UsersComponent implements OnInit {
entityDisplayName: string;
inputKey=eFormComponets.FormCheckboxComponent
inputKey = eFormComponets.FormCheckboxComponent;
trackByFn: TrackByFunction<AbstractControl> = (index, item) => Object.keys(item)[0] || index;
@ -158,6 +168,7 @@ export class UsersComponent implements OnInit {
.pipe(finalize(() => (this.modalBusy = false)))
.subscribe(() => {
this.isModalVisible = false;
this.toasterService.success('AbpUi::SuccessfullySaved');
this.list.get();
});
}

47
npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

@ -7,7 +7,7 @@ import {
ProviderInfoDto,
UpdatePermissionDto,
} from '@abp/ng.permission-management/proxy';
import { LocaleDirection } from '@abp/ng.theme.shared';
import { LocaleDirection, ToasterService } from '@abp/ng.theme.shared';
import {
Component,
ElementRef,
@ -41,16 +41,17 @@ type PermissionWithGroupName = PermissionGrantInfoDto & {
overflow-y: scroll;
}
.scroll-in-modal {
overflow:auto;
max-height: calc(100vh - 15rem)
overflow: auto;
max-height: calc(100vh - 15rem);
}
`,
],
})
export class PermissionManagementComponent
implements
PermissionManagement.PermissionManagementComponentInputs,
PermissionManagement.PermissionManagementComponentOutputs {
PermissionManagement.PermissionManagementComponentInputs,
PermissionManagement.PermissionManagementComponentOutputs
{
@Input()
readonly providerName!: string;
@ -117,7 +118,11 @@ export class PermissionManagementComponent
trackByFn: TrackByFunction<PermissionGroupDto> = (_, item) => item.name;
constructor(protected service: PermissionsService, protected configState: ConfigStateService) { }
constructor(
protected service: PermissionsService,
protected configState: ConfigStateService,
private readonly toasterService: ToasterService,
) {}
getChecked(name: string) {
return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted;
@ -130,19 +135,20 @@ export class PermissionManagementComponent
return;
}
const margin = `margin-${(document.body.dir as LocaleDirection) === 'rtl' ? 'right' : 'left'
}.px`;
const margin = `margin-${
(document.body.dir as LocaleDirection) === 'rtl' ? 'right' : 'left'
}.px`;
const permissions =
(this.data.groups.find(group => group.name === this.selectedGroup?.name) || {}).permissions ||
[];
this.selectedGroupPermissions = permissions.map(
permission =>
({
...permission,
style: { [margin]: findMargin(permissions, permission) },
isGranted: (this.permissions.find(per => per.name === permission.name) || {}).isGranted,
} as unknown as PermissionWithStyle),
({
...permission,
style: { [margin]: findMargin(permissions, permission) },
isGranted: (this.permissions.find(per => per.name === permission.name) || {}).isGranted,
}) as unknown as PermissionWithStyle,
);
}
@ -199,19 +205,19 @@ export class PermissionManagementComponent
if (per.name === clickedPermissions.parentName) {
parentPermission = per;
}
})
});
this.permissions.forEach(per => {
if (parentPermission.name === per.parentName) {
per.isGranted && childPermissionGrantedCount++;
}
})
});
if (childPermissionGrantedCount === 1 && !parentPermission.isGranted) {
this.permissions = this.permissions.map(per => {
if (per.name === parentPermission.name) {
per.isGranted = true;
}
return per;
})
});
}
return;
}
@ -220,16 +226,16 @@ export class PermissionManagementComponent
per.isGranted = false;
}
return per;
})
});
}
updateSelectedGroupPermissions(clickedPermissions: PermissionGrantInfoDto) {
this.selectedGroupPermissions = this.selectedGroupPermissions.map(per => {
if (per.name === clickedPermissions.name) {
per.isGranted = !per.isGranted
per.isGranted = !per.isGranted;
}
return per;
})
});
}
setTabCheckboxState() {
@ -310,7 +316,7 @@ export class PermissionManagementComponent
const changedPermissions: UpdatePermissionDto[] = this.permissions
.filter(per =>
(unchangedPermissions.find(unchanged => unchanged.name === per.name) || {}).isGranted ===
per.isGranted
per.isGranted
? false
: true,
)
@ -332,6 +338,7 @@ export class PermissionManagementComponent
)
.subscribe(() => {
this.visible = false;
this.toasterService.success('AbpPermissionManagement::SuccessfullySaved');
});
}

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

@ -1,7 +1,7 @@
import { ListService, PagedResultDto } from '@abp/ng.core';
import { eFeatureManagementComponents } from '@abp/ng.feature-management';
import { GetTenantsInput, TenantDto, TenantService } from '@abp/ng.tenant-management/proxy';
import {Confirmation, ConfirmationService, ToasterService} from '@abp/ng.theme.shared';
import { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
import {
EXTENSIONS_IDENTIFIER,
FormPropData,
@ -93,6 +93,7 @@ export class TenantsComponent implements OnInit {
.pipe(finalize(() => (this.modalBusy = false)))
.subscribe(() => {
this.isModalVisible = false;
this.toasterService.success('AbpUi::SuccessfullySaved');
this.list.get();
});
}

Loading…
Cancel
Save