@ieeesa-npm/tenants 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +31 -0
- package/ng-package.json +8 -0
- package/package.json +12 -25
- package/src/lib/assets/constants.json +454 -0
- package/src/lib/assets/tenant-validations.ts +18 -0
- package/src/lib/assets/tenants-mock.ts +1240 -0
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.html +15 -0
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.scss +44 -0
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.spec.ts +574 -0
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.ts +602 -0
- package/src/lib/components/create-modify-role/create-modify-role.component.html +15 -0
- package/src/lib/components/create-modify-role/create-modify-role.component.scss +83 -0
- package/src/lib/components/create-modify-role/create-modify-role.component.spec.ts +346 -0
- package/src/lib/components/create-modify-role/create-modify-role.component.ts +321 -0
- package/src/lib/components/create-tenant-application/create-tenant-application.component.html +18 -0
- package/src/lib/components/create-tenant-application/create-tenant-application.component.scss +73 -0
- package/src/lib/components/create-tenant-application/create-tenant-application.component.spec.ts +775 -0
- package/src/lib/components/create-tenant-application/create-tenant-application.component.ts +638 -0
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.html +22 -0
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.scss +79 -0
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.spec.ts +716 -0
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.ts +504 -0
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.html +44 -0
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.scss +16 -0
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.spec.ts +115 -0
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.ts +109 -0
- package/src/lib/components/view-tenant-details/view-tenant-details.component.html +195 -0
- package/src/lib/components/view-tenant-details/view-tenant-details.component.scss +163 -0
- package/src/lib/components/view-tenant-details/view-tenant-details.component.spec.ts +1221 -0
- package/src/lib/components/view-tenant-details/view-tenant-details.component.ts +876 -0
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.html +10 -0
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.scss +44 -0
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.spec.ts +410 -0
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.ts +219 -0
- package/src/lib/components/view-tenants-list/view-tenants-list.component.html +32 -0
- package/src/lib/components/view-tenants-list/view-tenants-list.component.scss +35 -0
- package/src/lib/components/view-tenants-list/view-tenants-list.component.spec.ts +464 -0
- package/src/lib/components/view-tenants-list/view-tenants-list.component.ts +388 -0
- package/src/lib/models/app-type-config.model.ts +14 -0
- package/src/lib/models/app-type.model.ts +5 -0
- package/src/lib/models/create-group-type-config.model.ts +18 -0
- package/src/lib/models/create-group-type.model.ts +46 -0
- package/src/lib/models/feature-permission-id.model.ts +6 -0
- package/src/lib/models/features.model.ts +15 -0
- package/src/lib/models/form-status.model.ts +5 -0
- package/src/lib/models/permission-type.model.ts +9 -0
- package/src/lib/models/role-menu-action.model.ts +5 -0
- package/src/lib/models/role-type.model.ts +34 -0
- package/src/lib/models/roles-and-permissions-table-type.model.ts +5 -0
- package/src/lib/models/roles-and-permissions.model.ts +113 -0
- package/src/lib/models/route-config.model.ts +4 -0
- package/src/lib/models/table-column-schema-view-tenant-list.model.ts +21 -0
- package/src/lib/models/tenant-function-type.model.ts +10 -0
- package/src/lib/models/tenant.model.ts +47 -0
- package/src/lib/models/tenants-permission.model.ts +9 -0
- package/src/lib/models/update-tenant-status.model.ts +12 -0
- package/src/lib/models/view-tenant-group-types.model.ts +34 -0
- package/src/lib/services/tenant-applications.service.spec.ts +1245 -0
- package/src/lib/services/tenant-applications.service.ts +798 -0
- package/src/lib/services/tenant-permissions-map.service.spec.ts +25 -0
- package/src/lib/services/tenant-permissions-map.service.ts +28 -0
- package/src/lib/services/tenant-permissions.service.spec.ts +62 -0
- package/src/lib/services/tenant-permissions.service.ts +49 -0
- package/src/lib/tenant-applications.component.html +0 -0
- package/src/lib/tenant-applications.component.scss +0 -0
- package/src/lib/tenant-applications.component.spec.ts +28 -0
- package/src/lib/tenant-applications.component.ts +12 -0
- package/src/lib/tenant-applications.module.ts +8 -0
- package/{public-api.d.ts → src/public-api.ts} +40 -30
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/ieeesa-npm-tenants.mjs +0 -5
- package/esm2022/lib/assets/constants.json +0 -390
- package/esm2022/lib/assets/tenant-validations.mjs +0 -13
- package/esm2022/lib/components/create-modify-role/create-modify-role.component.mjs +0 -280
- package/esm2022/lib/components/create-tenant-application/create-tenant-application.component.mjs +0 -512
- package/esm2022/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.mjs +0 -391
- package/esm2022/lib/components/tenant-basic-details/tenant-basic-details.component.mjs +0 -95
- package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +0 -708
- package/esm2022/lib/components/view-tenant-group-types/view-tenant-group-types.component.mjs +0 -174
- package/esm2022/lib/components/view-tenants-list/view-tenants-list.component.mjs +0 -334
- package/esm2022/lib/models/app-type-config.model.mjs +0 -2
- package/esm2022/lib/models/app-type.model.mjs +0 -7
- package/esm2022/lib/models/feature-permission-id.model.mjs +0 -8
- package/esm2022/lib/models/features.model.mjs +0 -2
- package/esm2022/lib/models/form-status.model.mjs +0 -7
- package/esm2022/lib/models/permission-type.model.mjs +0 -12
- package/esm2022/lib/models/role-menu-action.model.mjs +0 -7
- package/esm2022/lib/models/role-type.model.mjs +0 -2
- package/esm2022/lib/models/roles-and-permissions-table-type.model.mjs +0 -7
- package/esm2022/lib/models/roles-and-permissions.model.mjs +0 -2
- package/esm2022/lib/models/route-config.model.mjs +0 -2
- package/esm2022/lib/models/table-column-schema-view-tenant-list.model.mjs +0 -16
- package/esm2022/lib/models/tenant-function-type.model.mjs +0 -10
- package/esm2022/lib/models/tenant.model.mjs +0 -2
- package/esm2022/lib/models/tenants-permission.model.mjs +0 -2
- package/esm2022/lib/models/update-tenant-status.model.mjs +0 -2
- package/esm2022/lib/models/view-tenant-group-types.model.mjs +0 -9
- package/esm2022/lib/services/tenant-applications.service.mjs +0 -542
- package/esm2022/lib/services/tenant-permissions-map.service.mjs +0 -36
- package/esm2022/lib/services/tenant-permissions.service.mjs +0 -38
- package/esm2022/lib/tenant-applications.component.mjs +0 -14
- package/esm2022/lib/tenant-applications.module.mjs +0 -16
- package/esm2022/public-api.mjs +0 -34
- package/fesm2022/ieeesa-npm-tenants.mjs +0 -3565
- package/fesm2022/ieeesa-npm-tenants.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/assets/tenant-validations.d.ts +0 -11
- package/lib/components/create-modify-role/create-modify-role.component.d.ts +0 -103
- package/lib/components/create-tenant-application/create-tenant-application.component.d.ts +0 -128
- package/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.d.ts +0 -106
- package/lib/components/tenant-basic-details/tenant-basic-details.component.d.ts +0 -408
- package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +0 -216
- package/lib/components/view-tenant-group-types/view-tenant-group-types.component.d.ts +0 -58
- package/lib/components/view-tenants-list/view-tenants-list.component.d.ts +0 -134
- package/lib/models/app-type-config.model.d.ts +0 -14
- package/lib/models/app-type.model.d.ts +0 -4
- package/lib/models/feature-permission-id.model.d.ts +0 -4
- package/lib/models/features.model.d.ts +0 -15
- package/lib/models/form-status.model.d.ts +0 -4
- package/lib/models/permission-type.model.d.ts +0 -8
- package/lib/models/role-menu-action.model.d.ts +0 -4
- package/lib/models/role-type.model.d.ts +0 -27
- package/lib/models/roles-and-permissions-table-type.model.d.ts +0 -4
- package/lib/models/roles-and-permissions.model.d.ts +0 -119
- package/lib/models/route-config.model.d.ts +0 -4
- package/lib/models/table-column-schema-view-tenant-list.model.d.ts +0 -20
- package/lib/models/tenant-function-type.model.d.ts +0 -7
- package/lib/models/tenant.model.d.ts +0 -51
- package/lib/models/tenants-permission.model.d.ts +0 -9
- package/lib/models/update-tenant-status.model.d.ts +0 -14
- package/lib/models/view-tenant-group-types.model.d.ts +0 -27
- package/lib/services/tenant-applications.service.d.ts +0 -357
- package/lib/services/tenant-permissions-map.service.d.ts +0 -13
- package/lib/services/tenant-permissions.service.d.ts +0 -22
- package/lib/tenant-applications.component.d.ts +0 -5
- package/lib/tenant-applications.module.d.ts +0 -6
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Component, Input, OnDestroy, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as screenText from '../../assets/constants.json';
|
|
4
|
+
import { TenantApplicationsService } from '../../services/tenant-applications.service';
|
|
5
|
+
import { BreakpointObserverService } from '@ieeesa-npm/utility';
|
|
6
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
7
|
+
import {
|
|
8
|
+
FileUploadService,
|
|
9
|
+
ImagePreviewComponent,
|
|
10
|
+
} from '@ieeesa-npm/presentation';
|
|
11
|
+
import { SharedService } from '@ieeesa-npm/shared';
|
|
12
|
+
import { TenantBasicInfo } from '../../models/tenant.model';
|
|
13
|
+
|
|
14
|
+
@Component({
|
|
15
|
+
selector: 'ieeesa-tenant-basic-details',
|
|
16
|
+
standalone: true,
|
|
17
|
+
imports: [CommonModule, ImagePreviewComponent],
|
|
18
|
+
templateUrl: './tenant-basic-details.component.html',
|
|
19
|
+
styleUrls: ['./tenant-basic-details.component.scss'],
|
|
20
|
+
encapsulation: ViewEncapsulation.None,
|
|
21
|
+
})
|
|
22
|
+
export class TenantBasicDetailsComponent implements OnDestroy {
|
|
23
|
+
destroy$: Subject<boolean> = new Subject<boolean>();
|
|
24
|
+
isMobileView = false;
|
|
25
|
+
constants = screenText;
|
|
26
|
+
basicDetailTexts = this.constants?.viewTenants?.tenantBasicDetails?.label;
|
|
27
|
+
tenantBackgroundColor!: string;
|
|
28
|
+
selectedAppType!: string;
|
|
29
|
+
selectedAppTypeLabel!: string;
|
|
30
|
+
logo!: string;
|
|
31
|
+
basicInfo!: TenantBasicInfo;
|
|
32
|
+
imageUrl!: string;
|
|
33
|
+
@Input()
|
|
34
|
+
set tenantDetails(value: TenantBasicInfo) {
|
|
35
|
+
this.basicInfo = value;
|
|
36
|
+
this.logo = this.basicInfo?.appLogo as string;
|
|
37
|
+
this.selectedAppType = this.basicInfo?.appType as string;
|
|
38
|
+
if (this.basicInfo) {
|
|
39
|
+
this.getAppType();
|
|
40
|
+
this.getFileDownloadPresignedUrls(this.logo);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
constructor(
|
|
45
|
+
// eslint-disable-next-line no-unused-vars
|
|
46
|
+
public tenantAppService: TenantApplicationsService,
|
|
47
|
+
// eslint-disable-next-line no-unused-vars
|
|
48
|
+
private breakpointObserverService: BreakpointObserverService,
|
|
49
|
+
// eslint-disable-next-line no-unused-vars
|
|
50
|
+
private fileUploadService: FileUploadService,
|
|
51
|
+
// eslint-disable-next-line no-unused-vars
|
|
52
|
+
private sharedService: SharedService
|
|
53
|
+
) {
|
|
54
|
+
this.breakpointObserverService
|
|
55
|
+
.getBreakpoint()
|
|
56
|
+
.pipe(takeUntil(this.destroy$))
|
|
57
|
+
.subscribe((result: { matches: boolean }) => {
|
|
58
|
+
this.isMobileView = result?.matches;
|
|
59
|
+
});
|
|
60
|
+
this.tenantAppService.getApplicationType();
|
|
61
|
+
this.fileUploadService.setApiBaseUrl(this.tenantAppService?.apiBaseUrl);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Gets the application types.
|
|
66
|
+
* @memberof TenantBasicDetailsComponent
|
|
67
|
+
*/
|
|
68
|
+
getAppType(): void {
|
|
69
|
+
const appTypes = this.tenantAppService.getApplicationType();
|
|
70
|
+
if (this.basicInfo) {
|
|
71
|
+
const selectedType = appTypes?.find(
|
|
72
|
+
({ id }) => id === this.basicInfo?.appType
|
|
73
|
+
);
|
|
74
|
+
this.selectedAppTypeLabel = selectedType?.label as string;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Retrieves presigned URL for downloading files from Amazon S3 bucket.
|
|
80
|
+
* @memberof TenantBasicDetailsComponent
|
|
81
|
+
*/
|
|
82
|
+
getFileDownloadPresignedUrls(fileName: string): void {
|
|
83
|
+
this.fileUploadService
|
|
84
|
+
.getFileDownloadPresignedUrls(fileName)
|
|
85
|
+
.pipe(takeUntil(this.destroy$))
|
|
86
|
+
.subscribe({
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
88
|
+
next: (response: any) => {
|
|
89
|
+
this.imageUrl = response?.body;
|
|
90
|
+
},
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
+
error: (error: any) => {
|
|
93
|
+
this.sharedService.handleErrors(
|
|
94
|
+
error,
|
|
95
|
+
this.constants?.viewTenants?.errors
|
|
96
|
+
);
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
|
|
103
|
+
* @memberof ViewTenantDetailsComponent
|
|
104
|
+
*/
|
|
105
|
+
ngOnDestroy(): void {
|
|
106
|
+
this.destroy$?.next(true);
|
|
107
|
+
this.destroy$?.unsubscribe();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
<div
|
|
2
|
+
class="ieeesa-view-tenant-info px-4 pb-4"
|
|
3
|
+
[ngClass]="
|
|
4
|
+
isMobileView
|
|
5
|
+
? 'ieeesa-view-tenant-info--bg-white'
|
|
6
|
+
: 'ieeesa-view-tenant-info--bg-blue'
|
|
7
|
+
"
|
|
8
|
+
>
|
|
9
|
+
<div
|
|
10
|
+
class="d-flex justify-content-between gap-lg-4 gap-md-3 gap-sm-2 gap-3"
|
|
11
|
+
[ngClass]="isMobileView ? 'flex-column gap-2 pb-3' : 'align-item-center'"
|
|
12
|
+
>
|
|
13
|
+
<div
|
|
14
|
+
class="d-flex gap-lg-4 gap-md-3 gap-sm-3 gap-3 ps-0 align-items-md-center align-items-xl-center"
|
|
15
|
+
[ngClass]="isMobileView ? 'flex-column' : ''"
|
|
16
|
+
>
|
|
17
|
+
<p
|
|
18
|
+
class="mb-0 ieeesa-headline-lg-32 py-3"
|
|
19
|
+
[ngClass]="isMobileView ? '' : 'ieeesa-view-tenant-info--title'"
|
|
20
|
+
>
|
|
21
|
+
{{ tenantDetails?.appTitle }}
|
|
22
|
+
</p>
|
|
23
|
+
<div class="d-flex gap-lg-2 gap-md-2 gap-sm-2 gap-2">
|
|
24
|
+
<span
|
|
25
|
+
class="mb-0 ieeesa-title-sm-14 mt-1"
|
|
26
|
+
[ngClass]="isMobileView ? 'p-0' : 'ieeesa-view-tenant-info--app-id'"
|
|
27
|
+
>
|
|
28
|
+
{{ tenantLabels?.appId }}:
|
|
29
|
+
</span>
|
|
30
|
+
{{ tenantDetails?.appId }}
|
|
31
|
+
<ng-container *ngIf="tenantDetails?.appId !== tenantLabels?.saAppId">
|
|
32
|
+
<mat-divider [vertical]="true"></mat-divider>
|
|
33
|
+
<span
|
|
34
|
+
class="mb-0 mt-1 ieeesa-title-sm-14 ieeesa-view-tenant-info--app-status"
|
|
35
|
+
[ngClass]="isMobileView ? 'p-0' : ''"
|
|
36
|
+
>
|
|
37
|
+
{{ tenantLabels?.status }}:
|
|
38
|
+
</span>
|
|
39
|
+
<ieeesa-slide-toggle
|
|
40
|
+
[slideToggle]="slideToggleOption"
|
|
41
|
+
(slideToggleChange)="onSlideToggleChange($event)"
|
|
42
|
+
></ieeesa-slide-toggle>
|
|
43
|
+
</ng-container>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
<a
|
|
47
|
+
class="ieeesa-btn-label-lg-bold-16 text-decoration-none mt-lg-3 mt-xl-6 p-sm-0 p-md-0"
|
|
48
|
+
href="javascript:void(0)"
|
|
49
|
+
rel="noopener noreferrer"
|
|
50
|
+
[routerLink]="viewTenantsRouteUrl"
|
|
51
|
+
[ngClass]="
|
|
52
|
+
isMobileView
|
|
53
|
+
? 'ieeesa-view-tenant-info--link-mobile'
|
|
54
|
+
: 'ieeesa-view-tenant-info--link'
|
|
55
|
+
"
|
|
56
|
+
>{{ tenantLabels?.viewAllApps }}</a
|
|
57
|
+
>
|
|
58
|
+
</div>
|
|
59
|
+
<div
|
|
60
|
+
class="ieeesa-view-tenant-info__accordion ieeesa-view-tenant-info__accordion--blue-bg"
|
|
61
|
+
[ngClass]="isMobileView ? 'ieeesa-view-tenant-info__accordion--info' : ''"
|
|
62
|
+
>
|
|
63
|
+
<ng-container
|
|
64
|
+
*ngFor="
|
|
65
|
+
let accordionInfo of accordionInfoList;
|
|
66
|
+
trackBy: trackByAccordionFn
|
|
67
|
+
"
|
|
68
|
+
>
|
|
69
|
+
<ng-container [ngSwitch]="accordionInfo.id">
|
|
70
|
+
<ng-container *ngSwitchCase="accordionDetails.BASIC_DETAILS">
|
|
71
|
+
<ieeesa-accordion
|
|
72
|
+
[accordionInfo]="accordionInfo"
|
|
73
|
+
class="ieeesa-view-tenant-info__accordion-info"
|
|
74
|
+
(accordionOpened)="showTenantDetails(accordionInfo, $event)"
|
|
75
|
+
>
|
|
76
|
+
<ieeesa-icon-button
|
|
77
|
+
*ngIf="
|
|
78
|
+
isBasicDetailsExpanded &&
|
|
79
|
+
validateAccess(permissionType.MANAGE_TENANT)
|
|
80
|
+
"
|
|
81
|
+
actions
|
|
82
|
+
class="ieeesa-button"
|
|
83
|
+
[iconButton]="editButton"
|
|
84
|
+
(iconButtonClick)="openEditTenantForm()"
|
|
85
|
+
></ieeesa-icon-button>
|
|
86
|
+
<ng-container component *ngIf="isBasicDetailsExpanded">
|
|
87
|
+
<ieeesa-tenant-basic-details
|
|
88
|
+
[tenantDetails]="tenantDetails"
|
|
89
|
+
></ieeesa-tenant-basic-details>
|
|
90
|
+
</ng-container>
|
|
91
|
+
</ieeesa-accordion>
|
|
92
|
+
</ng-container>
|
|
93
|
+
<ng-container *ngSwitchCase="accordionDetails.ROLES_AND_PERMISSIONS">
|
|
94
|
+
<ieeesa-accordion
|
|
95
|
+
[accordionInfo]="accordionInfo"
|
|
96
|
+
class="ieeesa-view-tenant-info__roles-and-permissions"
|
|
97
|
+
(accordionOpened)="showTenantDetails(accordionInfo, $event)"
|
|
98
|
+
>
|
|
99
|
+
<div
|
|
100
|
+
actions
|
|
101
|
+
*ngIf="isRolesAndPermissionsExpanded"
|
|
102
|
+
class="d-flex gap-3"
|
|
103
|
+
[ngClass]="
|
|
104
|
+
isMobileView ? 'mb-3 px-4' : 'ieeesa-view-tenant-info__actions'
|
|
105
|
+
"
|
|
106
|
+
>
|
|
107
|
+
<button
|
|
108
|
+
mat-button
|
|
109
|
+
class="mat-tertiary-button"
|
|
110
|
+
[ngClass]="isMobileView ? 'p-0' : 'px-2 py-2'"
|
|
111
|
+
(click)="openCreateRoleForm()"
|
|
112
|
+
*ngIf="validateAccess(permissionType.MANAGE_TENANT)"
|
|
113
|
+
>
|
|
114
|
+
{{
|
|
115
|
+
constants.viewRolesAndPermissions.actionButtonLabels.addRole
|
|
116
|
+
}}
|
|
117
|
+
</button>
|
|
118
|
+
<button
|
|
119
|
+
mat-button
|
|
120
|
+
class="mat-tertiary-button"
|
|
121
|
+
(click)="openMapRolesAndPermissionsForm()"
|
|
122
|
+
[ngClass]="isMobileView ? 'p-0' : 'px-2 py-2'"
|
|
123
|
+
>
|
|
124
|
+
{{
|
|
125
|
+
constants.viewRolesAndPermissions.actionButtonLabels
|
|
126
|
+
.mapPermissionsRoles
|
|
127
|
+
}}
|
|
128
|
+
</button>
|
|
129
|
+
</div>
|
|
130
|
+
<ng-container component *ngIf="isRolesAndPermissionsExpanded">
|
|
131
|
+
<mat-divider
|
|
132
|
+
class="ieeesa-view-tenant-info__roles-and-permissions__divider"
|
|
133
|
+
></mat-divider>
|
|
134
|
+
<ieeesa-data-table
|
|
135
|
+
*ngIf="columnSchema.length"
|
|
136
|
+
[tableDataInfo]="tableData"
|
|
137
|
+
[headerElementClassName]="headerElementClassName"
|
|
138
|
+
[columnSchemaInfo]="columnSchema"
|
|
139
|
+
[caption]="rolesAndPermissionsTableCaption"
|
|
140
|
+
[paginatorConfig]="paginatorConfig"
|
|
141
|
+
[tableActions]="tableActions"
|
|
142
|
+
[isScrollSupportMessageNeeded]="true"
|
|
143
|
+
[tableColumnActionMenuSize]="iconSize"
|
|
144
|
+
[tableColumnActions]="menuItems"
|
|
145
|
+
[customStickyHeaderNeeded]="true"
|
|
146
|
+
[tableColumnsHeaderText]="rolesAndPermissionsTableHeaderName"
|
|
147
|
+
[scrollbarSupportMessage]="
|
|
148
|
+
rolesAndPermissionsTableSupportMessage
|
|
149
|
+
"
|
|
150
|
+
[verticalColumnHeaderNumber]="permissionsColumnClassNumber"
|
|
151
|
+
(paginationChange)="onTablePaginationChange($event)"
|
|
152
|
+
(tableColumnMenuActionClick)="onRoleMenuClick($event)"
|
|
153
|
+
(tableColumnMenuToggleButton)="selectedRoleMenuElement($event)"
|
|
154
|
+
></ieeesa-data-table>
|
|
155
|
+
</ng-container>
|
|
156
|
+
</ieeesa-accordion>
|
|
157
|
+
</ng-container>
|
|
158
|
+
<ng-container *ngSwitchCase="accordionDetails.GROUP_TYPES">
|
|
159
|
+
<ieeesa-accordion
|
|
160
|
+
[accordionInfo]="accordionInfo"
|
|
161
|
+
class="ieeesa-view-tenant-info__group-types"
|
|
162
|
+
(accordionOpened)="showTenantDetails(accordionInfo, $event)"
|
|
163
|
+
>
|
|
164
|
+
<div
|
|
165
|
+
actions
|
|
166
|
+
*ngIf="isGroupTypesExpanded"
|
|
167
|
+
class="d-flex gap-3"
|
|
168
|
+
[ngClass]="
|
|
169
|
+
isMobileView ? 'mb-3 px-4' : 'ieeesa-view-tenant-info__actions'
|
|
170
|
+
"
|
|
171
|
+
>
|
|
172
|
+
<button
|
|
173
|
+
mat-button
|
|
174
|
+
class="mat-tertiary-button p-2"
|
|
175
|
+
*ngIf="validateAccess(permissionType.MANAGE_TENANT)"
|
|
176
|
+
(click)="openCreateGroupTypeForm()"
|
|
177
|
+
>
|
|
178
|
+
{{ constants.viewGroupTypes.actionButtonLabels.addGroupType }}
|
|
179
|
+
</button>
|
|
180
|
+
</div>
|
|
181
|
+
<ng-container component *ngIf="isGroupTypesExpanded">
|
|
182
|
+
<ieeesa-view-tenant-group-types></ieeesa-view-tenant-group-types>
|
|
183
|
+
</ng-container>
|
|
184
|
+
</ieeesa-accordion>
|
|
185
|
+
</ng-container>
|
|
186
|
+
<ng-container *ngSwitchDefault>
|
|
187
|
+
<ieeesa-accordion
|
|
188
|
+
[accordionInfo]="accordionInfo"
|
|
189
|
+
(accordionOpened)="showTenantDetails(accordionInfo, $event)"
|
|
190
|
+
></ieeesa-accordion>
|
|
191
|
+
</ng-container>
|
|
192
|
+
</ng-container>
|
|
193
|
+
</ng-container>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
@import "styles.scss";
|
|
2
|
+
.ieeesa-view-tenant-info {
|
|
3
|
+
background-color: $ieeesa-background-color-gray;
|
|
4
|
+
&--bg-white {
|
|
5
|
+
background-color: $ieeesa-white;
|
|
6
|
+
padding: 1em 1.5em 0em 1.5em;
|
|
7
|
+
}
|
|
8
|
+
&__actions {
|
|
9
|
+
top: 15px;
|
|
10
|
+
margin-right: 20px;
|
|
11
|
+
position: absolute;
|
|
12
|
+
right: 0;
|
|
13
|
+
}
|
|
14
|
+
&--title,
|
|
15
|
+
&--action {
|
|
16
|
+
padding: 0.75em 0em;
|
|
17
|
+
}
|
|
18
|
+
&--link {
|
|
19
|
+
padding: 1em 0.75em 1.3em 0em !important;
|
|
20
|
+
}
|
|
21
|
+
&--link-mobile {
|
|
22
|
+
max-width: fit-content;
|
|
23
|
+
}
|
|
24
|
+
&--app-id,
|
|
25
|
+
&--app-status {
|
|
26
|
+
color: $ieeesa-on-surface-variant-color;
|
|
27
|
+
}
|
|
28
|
+
&__accordion {
|
|
29
|
+
background-color: $ieeesa-white;
|
|
30
|
+
box-shadow: $ieeesa-box-shadow-15;
|
|
31
|
+
padding: 1.5em 0.75em;
|
|
32
|
+
&--bg-white {
|
|
33
|
+
background-color: $ieeesa-white;
|
|
34
|
+
box-shadow: none;
|
|
35
|
+
}
|
|
36
|
+
&--info {
|
|
37
|
+
padding: 1em 1em 1.5em 1em;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
&__accordion-info {
|
|
41
|
+
.mat-accordion {
|
|
42
|
+
.mat-expansion-panel-spacing.mat-expanded {
|
|
43
|
+
position: relative;
|
|
44
|
+
}
|
|
45
|
+
.mat-expansion-panel-body {
|
|
46
|
+
padding: 1.5em 1.5em 1.5em 2.25em;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
.ieeesa-button {
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 1.25em;
|
|
52
|
+
right: 0;
|
|
53
|
+
svg {
|
|
54
|
+
width: 1.3em !important;
|
|
55
|
+
height: 1.3em !important;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
.mat-divider-vertical {
|
|
60
|
+
margin: 0em;
|
|
61
|
+
height: 1.4em;
|
|
62
|
+
color: $ieeesa-outline-variant;
|
|
63
|
+
width: 0.063em;
|
|
64
|
+
border-right-color: $ieeesa-outline-variant;
|
|
65
|
+
}
|
|
66
|
+
.ieeesa-slide-toggle-field .mat-mdc-slide-toggle .mdc-label {
|
|
67
|
+
color: $ieeesa-black !important;
|
|
68
|
+
}
|
|
69
|
+
&__roles-and-permissions {
|
|
70
|
+
.ieeesa-accordion {
|
|
71
|
+
.mat-accordion {
|
|
72
|
+
.mat-expansion-panel-spacing.mat-expanded {
|
|
73
|
+
position: relative;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
&__divider {
|
|
78
|
+
margin-top: 12px !important;
|
|
79
|
+
margin-bottom: 16px !important;
|
|
80
|
+
border-top: 1px solid $ieeesa-dark-gray !important;
|
|
81
|
+
}
|
|
82
|
+
.mat-mdc-header-cell {
|
|
83
|
+
white-space: nowrap;
|
|
84
|
+
}
|
|
85
|
+
.mat-expansion-panel-body,
|
|
86
|
+
.ieeesa-data-table {
|
|
87
|
+
padding-left: 0px;
|
|
88
|
+
padding-right: 0px;
|
|
89
|
+
}
|
|
90
|
+
.ieeesa-data-table {
|
|
91
|
+
.mat-column-permissions {
|
|
92
|
+
min-width: 12.5em;
|
|
93
|
+
padding: 16px !important;
|
|
94
|
+
}
|
|
95
|
+
&__content {
|
|
96
|
+
margin-top: 0px !important;
|
|
97
|
+
}
|
|
98
|
+
&__column-menu {
|
|
99
|
+
.mat-mdc-icon-button.mat-mdc-button-base {
|
|
100
|
+
padding: 6px;
|
|
101
|
+
width: 24px;
|
|
102
|
+
height: 24px;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
&__columns-header-text {
|
|
106
|
+
padding: 8px 16px;
|
|
107
|
+
background: $ieeesa-data-table-columns-header;
|
|
108
|
+
box-shadow: $ieeesa-box-shadow-18;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
.mat-mdc-paginator-container {
|
|
112
|
+
padding: 0;
|
|
113
|
+
flex-wrap: nowrap;
|
|
114
|
+
}
|
|
115
|
+
.mdc-notched-outline {
|
|
116
|
+
&__trailing,
|
|
117
|
+
&__notch,
|
|
118
|
+
&__leading {
|
|
119
|
+
border: none !important;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
.mat-mdc-paginator-page-size,
|
|
123
|
+
.mat-mdc-paginator-page-size-label,
|
|
124
|
+
.mat-mdc-paginator-page-size-select,
|
|
125
|
+
.mat-mdc-paginator-range-label {
|
|
126
|
+
margin: 0;
|
|
127
|
+
}
|
|
128
|
+
.at-mdc-select-min-line,
|
|
129
|
+
.mat-mdc-paginator-range-label {
|
|
130
|
+
color: $ieeesa-brand-dark-grey;
|
|
131
|
+
}
|
|
132
|
+
.mat-mdc-paginator-page-size-label {
|
|
133
|
+
position: relative;
|
|
134
|
+
color: $ieeesa-dark-grey;
|
|
135
|
+
left: 2em;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
&__group-types {
|
|
139
|
+
.ieeesa-accordion {
|
|
140
|
+
.mat-accordion {
|
|
141
|
+
.mat-expansion-panel-spacing.mat-expanded {
|
|
142
|
+
position: relative;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
.mat-mdc-header-cell {
|
|
147
|
+
white-space: nowrap;
|
|
148
|
+
}
|
|
149
|
+
.mat-expansion-panel-body,
|
|
150
|
+
.ieeesa-data-table {
|
|
151
|
+
padding-left: 0px;
|
|
152
|
+
padding-right: 0px;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
.ieeesa-menu {
|
|
157
|
+
&__item:not(:last-of-type) {
|
|
158
|
+
margin-bottom: 0px !important;
|
|
159
|
+
}
|
|
160
|
+
.mat-mdc-menu-item {
|
|
161
|
+
min-height: 35px !important;
|
|
162
|
+
}
|
|
163
|
+
}
|