@ieeesa-npm/tenants 0.4.3 → 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.
Files changed (144) hide show
  1. package/.eslintrc.json +31 -0
  2. package/ng-package.json +8 -0
  3. package/package.json +12 -25
  4. package/src/lib/assets/constants.json +454 -0
  5. package/src/lib/assets/tenant-validations.ts +18 -0
  6. package/src/lib/assets/tenants-mock.ts +1240 -0
  7. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.html +15 -0
  8. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.scss +44 -0
  9. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.spec.ts +574 -0
  10. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.ts +602 -0
  11. package/src/lib/components/create-modify-role/create-modify-role.component.html +15 -0
  12. package/src/lib/components/create-modify-role/create-modify-role.component.scss +83 -0
  13. package/src/lib/components/create-modify-role/create-modify-role.component.spec.ts +346 -0
  14. package/src/lib/components/create-modify-role/create-modify-role.component.ts +321 -0
  15. package/src/lib/components/create-tenant-application/create-tenant-application.component.html +18 -0
  16. package/src/lib/components/create-tenant-application/create-tenant-application.component.scss +73 -0
  17. package/src/lib/components/create-tenant-application/create-tenant-application.component.spec.ts +775 -0
  18. package/src/lib/components/create-tenant-application/create-tenant-application.component.ts +638 -0
  19. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.html +22 -0
  20. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.scss +79 -0
  21. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.spec.ts +716 -0
  22. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.ts +504 -0
  23. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.html +44 -0
  24. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.scss +16 -0
  25. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.spec.ts +115 -0
  26. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.ts +109 -0
  27. package/src/lib/components/view-tenant-details/view-tenant-details.component.html +195 -0
  28. package/src/lib/components/view-tenant-details/view-tenant-details.component.scss +163 -0
  29. package/src/lib/components/view-tenant-details/view-tenant-details.component.spec.ts +1221 -0
  30. package/src/lib/components/view-tenant-details/view-tenant-details.component.ts +876 -0
  31. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.html +10 -0
  32. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.scss +44 -0
  33. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.spec.ts +410 -0
  34. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.ts +219 -0
  35. package/src/lib/components/view-tenants-list/view-tenants-list.component.html +32 -0
  36. package/src/lib/components/view-tenants-list/view-tenants-list.component.scss +35 -0
  37. package/src/lib/components/view-tenants-list/view-tenants-list.component.spec.ts +464 -0
  38. package/src/lib/components/view-tenants-list/view-tenants-list.component.ts +388 -0
  39. package/src/lib/models/app-type-config.model.ts +14 -0
  40. package/src/lib/models/app-type.model.ts +5 -0
  41. package/src/lib/models/create-group-type-config.model.ts +18 -0
  42. package/src/lib/models/create-group-type.model.ts +46 -0
  43. package/src/lib/models/feature-permission-id.model.ts +6 -0
  44. package/src/lib/models/features.model.ts +15 -0
  45. package/src/lib/models/form-status.model.ts +5 -0
  46. package/src/lib/models/permission-type.model.ts +9 -0
  47. package/src/lib/models/role-menu-action.model.ts +5 -0
  48. package/src/lib/models/role-type.model.ts +34 -0
  49. package/src/lib/models/roles-and-permissions-table-type.model.ts +5 -0
  50. package/src/lib/models/roles-and-permissions.model.ts +113 -0
  51. package/src/lib/models/route-config.model.ts +4 -0
  52. package/src/lib/models/table-column-schema-view-tenant-list.model.ts +21 -0
  53. package/src/lib/models/tenant-function-type.model.ts +10 -0
  54. package/src/lib/models/tenant.model.ts +47 -0
  55. package/src/lib/models/tenants-permission.model.ts +9 -0
  56. package/src/lib/models/update-tenant-status.model.ts +12 -0
  57. package/src/lib/models/view-tenant-group-types.model.ts +34 -0
  58. package/src/lib/services/tenant-applications.service.spec.ts +1245 -0
  59. package/src/lib/services/tenant-applications.service.ts +798 -0
  60. package/src/lib/services/tenant-permissions-map.service.spec.ts +25 -0
  61. package/src/lib/services/tenant-permissions-map.service.ts +28 -0
  62. package/src/lib/services/tenant-permissions.service.spec.ts +62 -0
  63. package/src/lib/services/tenant-permissions.service.ts +49 -0
  64. package/src/lib/tenant-applications.component.html +0 -0
  65. package/src/lib/tenant-applications.component.scss +0 -0
  66. package/src/lib/tenant-applications.component.spec.ts +28 -0
  67. package/src/lib/tenant-applications.component.ts +12 -0
  68. package/src/lib/tenant-applications.module.ts +8 -0
  69. package/{public-api.d.ts → src/public-api.ts} +40 -33
  70. package/tsconfig.lib.json +14 -0
  71. package/tsconfig.lib.prod.json +10 -0
  72. package/tsconfig.spec.json +14 -0
  73. package/esm2022/ieeesa-npm-tenants.mjs +0 -5
  74. package/esm2022/lib/assets/constants.json +0 -454
  75. package/esm2022/lib/assets/tenant-validations.mjs +0 -17
  76. package/esm2022/lib/components/create-modify-group-type/create-modify-group-type.component.mjs +0 -477
  77. package/esm2022/lib/components/create-modify-role/create-modify-role.component.mjs +0 -280
  78. package/esm2022/lib/components/create-tenant-application/create-tenant-application.component.mjs +0 -512
  79. package/esm2022/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.mjs +0 -391
  80. package/esm2022/lib/components/tenant-basic-details/tenant-basic-details.component.mjs +0 -95
  81. package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +0 -732
  82. package/esm2022/lib/components/view-tenant-group-types/view-tenant-group-types.component.mjs +0 -194
  83. package/esm2022/lib/components/view-tenants-list/view-tenants-list.component.mjs +0 -334
  84. package/esm2022/lib/models/app-type-config.model.mjs +0 -2
  85. package/esm2022/lib/models/app-type.model.mjs +0 -7
  86. package/esm2022/lib/models/create-group-type-config.model.mjs +0 -22
  87. package/esm2022/lib/models/create-group-type.model.mjs +0 -2
  88. package/esm2022/lib/models/feature-permission-id.model.mjs +0 -8
  89. package/esm2022/lib/models/features.model.mjs +0 -2
  90. package/esm2022/lib/models/form-status.model.mjs +0 -7
  91. package/esm2022/lib/models/permission-type.model.mjs +0 -12
  92. package/esm2022/lib/models/role-menu-action.model.mjs +0 -7
  93. package/esm2022/lib/models/role-type.model.mjs +0 -2
  94. package/esm2022/lib/models/roles-and-permissions-table-type.model.mjs +0 -7
  95. package/esm2022/lib/models/roles-and-permissions.model.mjs +0 -2
  96. package/esm2022/lib/models/route-config.model.mjs +0 -2
  97. package/esm2022/lib/models/table-column-schema-view-tenant-list.model.mjs +0 -16
  98. package/esm2022/lib/models/tenant-function-type.model.mjs +0 -12
  99. package/esm2022/lib/models/tenant.model.mjs +0 -2
  100. package/esm2022/lib/models/tenants-permission.model.mjs +0 -2
  101. package/esm2022/lib/models/update-tenant-status.model.mjs +0 -2
  102. package/esm2022/lib/models/view-tenant-group-types.model.mjs +0 -11
  103. package/esm2022/lib/services/tenant-applications.service.mjs +0 -618
  104. package/esm2022/lib/services/tenant-permissions-map.service.mjs +0 -36
  105. package/esm2022/lib/services/tenant-permissions.service.mjs +0 -38
  106. package/esm2022/lib/tenant-applications.component.mjs +0 -14
  107. package/esm2022/lib/tenant-applications.module.mjs +0 -16
  108. package/esm2022/public-api.mjs +0 -37
  109. package/fesm2022/ieeesa-npm-tenants.mjs +0 -4241
  110. package/fesm2022/ieeesa-npm-tenants.mjs.map +0 -1
  111. package/index.d.ts +0 -5
  112. package/lib/assets/tenant-validations.d.ts +0 -15
  113. package/lib/components/create-modify-group-type/create-modify-group-type.component.d.ts +0 -129
  114. package/lib/components/create-modify-role/create-modify-role.component.d.ts +0 -103
  115. package/lib/components/create-tenant-application/create-tenant-application.component.d.ts +0 -128
  116. package/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.d.ts +0 -106
  117. package/lib/components/tenant-basic-details/tenant-basic-details.component.d.ts +0 -472
  118. package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +0 -223
  119. package/lib/components/view-tenant-group-types/view-tenant-group-types.component.d.ts +0 -63
  120. package/lib/components/view-tenants-list/view-tenants-list.component.d.ts +0 -134
  121. package/lib/models/app-type-config.model.d.ts +0 -14
  122. package/lib/models/app-type.model.d.ts +0 -4
  123. package/lib/models/create-group-type-config.model.d.ts +0 -16
  124. package/lib/models/create-group-type.model.d.ts +0 -49
  125. package/lib/models/feature-permission-id.model.d.ts +0 -4
  126. package/lib/models/features.model.d.ts +0 -15
  127. package/lib/models/form-status.model.d.ts +0 -4
  128. package/lib/models/permission-type.model.d.ts +0 -8
  129. package/lib/models/role-menu-action.model.d.ts +0 -4
  130. package/lib/models/role-type.model.d.ts +0 -27
  131. package/lib/models/roles-and-permissions-table-type.model.d.ts +0 -4
  132. package/lib/models/roles-and-permissions.model.d.ts +0 -119
  133. package/lib/models/route-config.model.d.ts +0 -4
  134. package/lib/models/table-column-schema-view-tenant-list.model.d.ts +0 -20
  135. package/lib/models/tenant-function-type.model.d.ts +0 -9
  136. package/lib/models/tenant.model.d.ts +0 -51
  137. package/lib/models/tenants-permission.model.d.ts +0 -9
  138. package/lib/models/update-tenant-status.model.d.ts +0 -14
  139. package/lib/models/view-tenant-group-types.model.d.ts +0 -29
  140. package/lib/services/tenant-applications.service.d.ts +0 -398
  141. package/lib/services/tenant-permissions-map.service.d.ts +0 -13
  142. package/lib/services/tenant-permissions.service.d.ts +0 -22
  143. package/lib/tenant-applications.component.d.ts +0 -5
  144. package/lib/tenant-applications.module.d.ts +0 -6
@@ -1,4241 +0,0 @@
1
- import * as i6 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, EventEmitter, Component, ViewEncapsulation, ViewChild, Output, Input, ViewContainerRef, NgModule } from '@angular/core';
5
- import * as i1 from '@ieeesa-npm/presentation';
6
- import { AlignType, AllowedFileTypes, FormControlType, DynamicFormComponent, TableColumnType, ModalComponent, TableColumnSortDirection, DataTableComponent, ImagePreviewComponent, CheckboxComponent, AccordionDetails, ModalConfirmationComponent, SlideToggleComponent, AccordionComponent, IconButtonComponent } from '@ieeesa-npm/presentation';
7
- import { Subject, map, catchError, takeUntil } from 'rxjs';
8
- import * as i7 from '@angular/material/button';
9
- import { MatButtonModule } from '@angular/material/button';
10
- import * as i2 from '@ieeesa-npm/utility';
11
- import { ModalType, AlertType } from '@ieeesa-npm/utility';
12
- import { Validators } from '@angular/forms';
13
- import { validColorValidator } from 'ngx-colors';
14
- import * as i2$1 from '@ieeesa-npm/shared';
15
- import { FormStatus as FormStatus$1 } from '@ieeesa-npm/shared';
16
- import * as i1$1 from '@angular/material/dialog';
17
- import * as i5 from '@angular/router';
18
- import { RouterModule } from '@angular/router';
19
- import * as i7$1 from '@angular/material/divider';
20
- import { MatDividerModule } from '@angular/material/divider';
21
- import { HttpErrorResponse } from '@angular/common/http';
22
- import { GroupRosterType, RoleType } from '@ieeesa-npm/groups';
23
-
24
- var createTenant = {
25
- heading: "New Application",
26
- label: {
27
- leftButtonLabel: "Cancel",
28
- rightButtonLabel: "Save",
29
- appTitle: "Application Title",
30
- appId: "Application Id",
31
- appLogo: "Application Logo",
32
- appHeading: "Application Heading",
33
- appDescription: "Application Description",
34
- appBgColor: "Application Background Color",
35
- appHelpLink: "Application Help Link",
36
- featuresList: "Selection of list of features",
37
- featureVersion: "Feature Version",
38
- domainURL: "Domain URL",
39
- appType: "Application Type",
40
- ariaLabel: {
41
- appTitle: "Application Title",
42
- appId: "Application Id",
43
- appLogo: "Application Logo",
44
- appHeading: "Application Heading",
45
- appDescription: "Application Description",
46
- appBgColor: "Application Background Color",
47
- appHelpLink: "Application Help Link",
48
- featuresList: "Selection of list of features",
49
- featureVersion: "Feature Version",
50
- domainURL: "Domain URL",
51
- appType: "Application Type"
52
- },
53
- ariaDescribedById: {
54
- appTitle: "ariaApplicationTitle",
55
- appId: "ariaApplicationId",
56
- appLogo: "ariaApplicationLogo",
57
- appHeading: "ariaApplicationHeading",
58
- appDescription: "ariaApplicationDescription",
59
- appBgColor: "ariaApplicationBackgroundColor",
60
- appHelpLink: "ariaApplicationHelpLink",
61
- featuresList: "ariaFeatures",
62
- featureVersion: "ariaFeatureVersion",
63
- domainURL: "ariaDomainURL",
64
- appType: "ariaApplicationType"
65
- }
66
- },
67
- message: {
68
- error: {
69
- required: "This field is required.",
70
- invalidColor: "Invalid color.",
71
- invalidFile: "Invalid file format. Please upload SVG, PNG and JPG file format only.",
72
- limit: {
73
- appTitleMaxChars: "Application Title must not be greater than 50 characters long.",
74
- appIdMaxChars: "Application Id must not be greater than 10 characters long.",
75
- appHeadingMaxChars: "Application Heading must not be greater than 150 characters long.",
76
- appDescriptionMaxChars: "Application Description must not be greater than 500 characters long.",
77
- appLogoMaxSize: "File size exceeds the maximum limit."
78
- },
79
- pattern: {
80
- appId: "It should only allow Alphanumeric characters.",
81
- appHelpLink: "Invalid URL.",
82
- appDomainUrl: "Invalid URL."
83
- }
84
- },
85
- success: {
86
- submission: "has been created successfully."
87
- }
88
- },
89
- supportText: {
90
- appTitle: "Enter application name.",
91
- appId: "Enter application id.",
92
- appLogo: "Upload application logo.",
93
- appHeading: "Enter application heading.",
94
- appDescription: "Enter application description.",
95
- appBgColor: "Choose background color.",
96
- appHelpLink: "Enter application help link.",
97
- featuresList: "Select reusable feature(s).",
98
- featureVersion: "Select feature version.",
99
- domainURL: "Enter domain URL."
100
- },
101
- errors: {
102
- "2003": "Application Type not found.",
103
- "2026": "List of features not found.",
104
- "2028": "Application Title is required.",
105
- "2029": "Application Logo is required.",
106
- "2030": "Application Heading is required.",
107
- "2031": "Application Description is required.",
108
- "2032": "Background color is required.",
109
- "2033": "Help link is required.",
110
- "2034": "Domain Url is required.",
111
- "2035": "Application Type is required.",
112
- "2036": "Application Features are required.",
113
- "2037": "Application Title must not be greater than 50 characters long.",
114
- "2038": "Application Heading must not be greater than 150 characters long",
115
- "2039": "Application Description must not be greater than 500 characters long.",
116
- "2040": "Invalid URL.",
117
- "2041": "Application Id is required.",
118
- "2042": "Application Id must not be greater than 10 characters long",
119
- "2043": "Application Id contains invalid characters. Please enter alphanumeric characters only.",
120
- "2044": "Invalid URL.",
121
- "2045": "Application Id must be unique.",
122
- "2046": "Application Features are required.",
123
- "2047": "Application Type is required.",
124
- "2048": "Features Not Found.",
125
- "2049": "Unable to display tenants. Please try again later.",
126
- "2050": "Tenant Details not found.",
127
- "2052": "Not allowed to update Application Id and Application Type.",
128
- "2053": "Default features to be pre-selected."
129
- },
130
- buttons: {
131
- addApplicationLabel: "Add Application"
132
- }
133
- };
134
- var createRole = {
135
- heading: "New Role",
136
- label: {
137
- leftButtonLabel: "Cancel",
138
- rightButtonLabel: "Save",
139
- appTitle: "Application Title",
140
- roleType: "Role Type",
141
- roleName: "Role Name",
142
- ariaLabel: {
143
- appTitle: "Application Title",
144
- roleType: "Role Type",
145
- roleName: "Role Name"
146
- },
147
- ariaDescribedById: {
148
- appTitle: "ariaApplicationTitle",
149
- roleType: "ariaRoleType",
150
- roleName: "ariaRoleName"
151
- }
152
- },
153
- message: {
154
- error: {
155
- required: "This field is required.",
156
- limit: {
157
- roleNameMaxChars: "Role name must not be greater than 100 characters long."
158
- }
159
- },
160
- success: {
161
- submission1: "New",
162
- submission2: "has been successfully added to the",
163
- submission3: "You can map the permissions for the newly added role.",
164
- modify: "has been successfully edited for the"
165
- }
166
- },
167
- supportText: {
168
- roleType: "Select role type from the dropdown.",
169
- roleName: "Enter role name."
170
- },
171
- errors: {
172
- "3011": "App Id is required.",
173
- "3012": "role already exists.",
174
- "3013": "Application Id modification not allowed.",
175
- "3014": "Role Type not found.",
176
- "3015": "Role Type is required.",
177
- "3016": "Role Name is required.",
178
- "3017": "Role Type not found."
179
- }
180
- };
181
- var editTenant = {
182
- message: {
183
- success: {
184
- submission: "has been updated successfully."
185
- }
186
- }
187
- };
188
- var viewTenants = {
189
- tenantsTitle: "Tenant Application Management",
190
- addTenant: "Add Application",
191
- emptyFieldValueReplacedBy: "-",
192
- createTenantsIcon: "assets/images/sprites/sprites.svg#icon-create-group-white-bg",
193
- pageSizeOptions: [
194
- 10,
195
- 20,
196
- 50,
197
- 100
198
- ],
199
- ariaLabel: {
200
- add: "Add Application"
201
- },
202
- label: {
203
- appId: "Application ID",
204
- status: "Status",
205
- viewAllApps: "View All Applications",
206
- saAppId: "SAAPPS",
207
- active: "Active",
208
- inactive: "Inactive"
209
- },
210
- buttons: {
211
- id: 1,
212
- ariaLabel: "Edit Application Details",
213
- label: "Edit Application Details",
214
- toolTip: "Edit Application Details",
215
- iconURL: "assets/images/sprites/sprites.svg#icon-edit-tenant"
216
- },
217
- tableColumns: {
218
- appId: "Application Id",
219
- appTitle: "Application Title",
220
- appDescription: "Application Description",
221
- features: "Features",
222
- status: "Status"
223
- },
224
- confirmationInfo: {
225
- leftButtonLabel: "Cancel",
226
- rightButtonLabel: "OK",
227
- promptMessage: "Are you sure you want to",
228
- promptMessageInactivate: "inactivate",
229
- promptMessageActivate: "reactivate",
230
- ariaLabel: {
231
- alert: "Alert"
232
- },
233
- deleteRoleConfirmationMessage: "Are you sure you want to delete the",
234
- deleteRolePromptMessage: "Deleting this role will remove all current assignments in the"
235
- },
236
- errors: {
237
- "2050": "Tenant Details not found.",
238
- "2051": "Failure to update tenant status.",
239
- "2054": "IEEE SA Collaboration Portal cannot be inactivated.",
240
- "3007": "No Role(s) found.",
241
- "3008": "No Permission(s) found.",
242
- "3009": "Unable to fetch Roles and Permissions Mapping.",
243
- "3010": "Role Id is required.",
244
- "3011": "Application Id is required."
245
- },
246
- tenantAccordionInfo: [
247
- {
248
- id: 1,
249
- title: "Basic Details",
250
- isDisabled: false,
251
- content: "Basic data"
252
- },
253
- {
254
- id: 2,
255
- title: "Roles and Permissions",
256
- isDisabled: false,
257
- content: "Roles"
258
- },
259
- {
260
- id: 3,
261
- title: "Group Types",
262
- isDisabled: false,
263
- content: "Groups"
264
- }
265
- ],
266
- tenantBasicDetails: {
267
- label: {
268
- title: "Title",
269
- logo: "Logo",
270
- description: "Description",
271
- bgColor: "Background Color",
272
- heading: "Heading",
273
- helpLink: "Help Link",
274
- listOfFeatures: "List of features",
275
- featureVersion: "Feature Version",
276
- domainURL: "Domain URL",
277
- type: "Type"
278
- }
279
- }
280
- };
281
- var viewRolesAndPermissions = {
282
- tableCaption: "Roles & Permissions Matrix",
283
- tableColumnsHeaderText: "ROLES",
284
- scrollbarSupportMessage: "Scroll right for viewing more roles.",
285
- pageSizeOptions: [
286
- 10,
287
- 20,
288
- 50,
289
- 100
290
- ],
291
- columnActionIconSize: "fa-xs",
292
- actionButtonLabels: {
293
- addRole: "Add Role",
294
- mapPermissionsRoles: "Map Permissions & Roles"
295
- },
296
- tableColumn: {
297
- permissions: "PERMISSIONS"
298
- },
299
- tableCellValue: {
300
- yes: "Yes",
301
- no: "No"
302
- },
303
- columnActionMenuItems: [
304
- {
305
- id: 1,
306
- label: "Edit Role",
307
- ariaLabel: "Edit Role",
308
- iconURL: "",
309
- toolTip: "",
310
- isToolTipNeeded: false
311
- },
312
- {
313
- id: 2,
314
- label: "Delete Role",
315
- ariaLabel: "Delete Role",
316
- iconURL: "",
317
- toolTip: "",
318
- isToolTipNeeded: false
319
- }
320
- ]
321
- };
322
- var mapRolesAndPermissions = {
323
- heading: "Map Permissions & Roles",
324
- legend: "Select a Role or Permission to continue",
325
- roleTableCaption: "Role: ",
326
- permissionTableCaption: "Permission: ",
327
- label: {
328
- leftButtonLabel: "Cancel",
329
- rightButtonLabel: "Save",
330
- role: "Role",
331
- permission: "Permission",
332
- ariaLabel: {
333
- role: "Role",
334
- permission: "Permission"
335
- },
336
- ariaDescribedById: {
337
- role: "ariaRole",
338
- permission: "ariaPermission"
339
- }
340
- },
341
- tableColumns: {
342
- role: "Role",
343
- permission: "Permission",
344
- status: "Status"
345
- },
346
- message: {
347
- success: {
348
- rolesAndPermissionsSubmission: "Role(s) & Permission(s) successfully updated."
349
- }
350
- },
351
- supportText: {
352
- role: "Choose a role from the available list.",
353
- permission: "Choose a permission from the available list."
354
- },
355
- errors: {
356
- "3007": "Role(s) not found.",
357
- "3008": "Permission(s) not found.",
358
- "3009": "Role Permission details does not exist.",
359
- "3017": "Role Permission Mapping does not exist for given role Id.",
360
- "3020": "Roles does not exist for given permission Id.",
361
- "3021": "Permissions does not exist for given role Id."
362
- }
363
- };
364
- var deleteRole = {
365
- message: {
366
- success: {
367
- submission: "role has been successfully deleted from the"
368
- }
369
- }
370
- };
371
- var viewGroupTypes = {
372
- actionButtonLabels: {
373
- addGroupType: "Add Group Type"
374
- },
375
- actionMenuItems: [
376
- {
377
- id: 1,
378
- label: "Edit Group Type",
379
- ariaLabel: "Edit Group Type",
380
- iconURL: "",
381
- toolTip: "",
382
- isToolTipNeeded: false,
383
- isDisabled: false
384
- },
385
- {
386
- id: 2,
387
- label: "Delete Group Type",
388
- ariaLabel: "Delete Group Type",
389
- iconURL: "",
390
- toolTip: "",
391
- isToolTipNeeded: false,
392
- isDisabled: false
393
- }
394
- ],
395
- tableColumns: {
396
- heading: {
397
- groupType: "Group Type",
398
- rosterType: "Roster Type",
399
- description: "Description",
400
- applicableRoles: "Applicable Roles",
401
- settings: "Settings",
402
- action: "Actions"
403
- }
404
- },
405
- settings: {
406
- allowSubGroup: "Allow Sub-Groups",
407
- allowRoster: "Enable Rosters",
408
- allowAlternateVoting: "Allow Alternate Voting",
409
- hasClassification: "Has Classification",
410
- allowEdit: "Allow Edit",
411
- allowDelete: "Allow Delete"
412
- },
413
- errors: {
414
- "1010": "Group Type(s) not found.",
415
- "2050": "Tenant Details not found."
416
- }
417
- };
418
- var routeConfigPath = {
419
- viewTenants: "tenants/view-tenants-list",
420
- viewTenantDetails: "tenants/view-tenant-details"
421
- };
422
- var createGroupType = {
423
- heading: "New Group Type",
424
- label: {
425
- leftButtonLabel: "Cancel",
426
- rightButtonLabel: "Save",
427
- groupType: "Group Type",
428
- description: "Description",
429
- settings: "Settings",
430
- rosterType: "Roster Type",
431
- appMemberLevel: "Applicable Member Level",
432
- appOfficerRoles: "Applicable Officer Roles",
433
- isRootGroup: "Is Root Group",
434
- allowedSubGroupTypes: "Allowed Sub Group Type(s)",
435
- ariaLabel: {
436
- groupType: "Group Type",
437
- description: "Description",
438
- settings: "Settings",
439
- rosterType: "Roster Type",
440
- appMemberLevel: "Applicable Member Level",
441
- appOfficerRoles: "Applicable Officer Roles",
442
- isRootGroup: "Is Root Group",
443
- allowedSubGroupTypes: "Allowed Sub Group Type(s)"
444
- },
445
- ariaDescribedById: {
446
- groupType: "ariaGroupType",
447
- description: "ariaDescription",
448
- settings: "ariaSettings",
449
- rosterType: "ariaRosterType",
450
- appMemberLevel: "ariaApplicableMemberLevel",
451
- appOfficerRoles: "ariaApplicableOfficerRoles",
452
- isRootGroup: "ariaIsRootGroup",
453
- allowedSubGroupTypes: "ariaAllowedSubGroupTypes"
454
- }
455
- },
456
- message: {
457
- success: {
458
- submissionPart1: "New ",
459
- submissionPart2: " has been successfully added to the"
460
- },
461
- error: {
462
- required: "This field is required.",
463
- limit: {
464
- groupTypeMaxChars: "Group Type must not be greater than 30 characters long.",
465
- descriptionMaxChars: "Description must not be greater than 500 characters long."
466
- }
467
- }
468
- },
469
- supportText: {
470
- groupType: "Enter Group Type.",
471
- description: "Enter Group Type description."
472
- },
473
- isRootGroupOptions: {
474
- yes: "Yes",
475
- no: "No"
476
- },
477
- errors: {
478
- "2066": "Roster Type or Settings not found.",
479
- "2067": "Group Type Name already exist.",
480
- "3007": "No Role(s) found.",
481
- "3017": "Description is required.",
482
- "3018": "Role is required.",
483
- "3019": "Configure officer and member level roles before creating group type."
484
- }
485
- };
486
- var constants = {
487
- createTenant: createTenant,
488
- createRole: createRole,
489
- editTenant: editTenant,
490
- viewTenants: viewTenants,
491
- viewRolesAndPermissions: viewRolesAndPermissions,
492
- mapRolesAndPermissions: mapRolesAndPermissions,
493
- deleteRole: deleteRole,
494
- viewGroupTypes: viewGroupTypes,
495
- routeConfigPath: routeConfigPath,
496
- createGroupType: createGroupType
497
- };
498
-
499
- var screenText = /*#__PURE__*/Object.freeze({
500
- __proto__: null,
501
- createGroupType: createGroupType,
502
- createRole: createRole,
503
- createTenant: createTenant,
504
- default: constants,
505
- deleteRole: deleteRole,
506
- editTenant: editTenant,
507
- mapRolesAndPermissions: mapRolesAndPermissions,
508
- routeConfigPath: routeConfigPath,
509
- viewGroupTypes: viewGroupTypes,
510
- viewRolesAndPermissions: viewRolesAndPermissions,
511
- viewTenants: viewTenants
512
- });
513
-
514
- /* eslint-disable no-unused-vars */
515
- var PermissionType;
516
- (function (PermissionType) {
517
- PermissionType["VIEW_TENANTS"] = "VIEW_TENANTS";
518
- PermissionType["MANAGE_TENANT"] = "MANAGE_TENANT";
519
- })(PermissionType || (PermissionType = {}));
520
- var TenantStatus;
521
- (function (TenantStatus) {
522
- TenantStatus["ACTIVE"] = "Active";
523
- TenantStatus["INACTIVE"] = "Inactive";
524
- })(TenantStatus || (TenantStatus = {}));
525
-
526
- /* eslint-disable no-unused-vars */
527
- var ViewTenantsColumnSchemaDef;
528
- (function (ViewTenantsColumnSchemaDef) {
529
- ViewTenantsColumnSchemaDef["APP_ID"] = "appId";
530
- ViewTenantsColumnSchemaDef["APP_TITLE"] = "appTitle";
531
- ViewTenantsColumnSchemaDef["APP_DESCRIPTION"] = "appDescription";
532
- ViewTenantsColumnSchemaDef["APP_HEADING"] = "appHeading";
533
- ViewTenantsColumnSchemaDef["FEATURES"] = "features";
534
- ViewTenantsColumnSchemaDef["STATUS"] = "status";
535
- })(ViewTenantsColumnSchemaDef || (ViewTenantsColumnSchemaDef = {}));
536
- var SortOrderBy;
537
- (function (SortOrderBy) {
538
- SortOrderBy["DESC"] = "DESC";
539
- SortOrderBy["ASC"] = "ASC";
540
- })(SortOrderBy || (SortOrderBy = {}));
541
-
542
- /* eslint-disable no-useless-escape */
543
- const TenantsValidationPatterns = {
544
- appTitleMaxLength: 50,
545
- appIdMaxLength: 10,
546
- appHeadingMaxLength: 150,
547
- appDescriptionMaxLength: 500,
548
- url: /^https:\/\//,
549
- alphaNumeric: /^[a-zA-Z0-9]+$/,
550
- };
551
- const RolesValidation = {
552
- roleNameMaxLength: 100,
553
- };
554
- const GroupTypeValidation = {
555
- groupTypeMaxLength: 30,
556
- descriptionMaxLength: 500
557
- };
558
-
559
- /* eslint-disable no-unused-vars */
560
- var FormStatus;
561
- (function (FormStatus) {
562
- FormStatus["VALID"] = "VALID";
563
- FormStatus["INVALID"] = "INVALID";
564
- })(FormStatus || (FormStatus = {}));
565
-
566
- /* eslint-disable no-unused-vars */
567
- var TenantFunctionType;
568
- (function (TenantFunctionType) {
569
- TenantFunctionType["CREATE"] = "CREATE";
570
- TenantFunctionType["EDIT"] = "EDIT";
571
- TenantFunctionType["CREATE_ROLE"] = "CREATE_ROLE";
572
- TenantFunctionType["EDIT_ROLE"] = "EDIT_ROLE";
573
- TenantFunctionType["MAP_PERMISSION_AND_ROLE"] = "MAP_PERMISSION_AND_ROLE";
574
- TenantFunctionType["CREATE_GROUP_TYPE"] = "CREATE_GROUP_TYPE";
575
- TenantFunctionType["EDIT_GROUP_TYPE"] = "EDIT_GROUP_TYPE";
576
- })(TenantFunctionType || (TenantFunctionType = {}));
577
-
578
- class TenantPermissionsService {
579
- /**
580
- * Returns access provision for the passed action/feature based on whether the signed in user has appropriate permission.
581
- * @param {PermissionType} permission
582
- * @param {TenantsPermission[]} tenantsPermissions
583
- * @return {boolean}
584
- * @memberof TenantPermissionsService
585
- */
586
- validateAccessPermission(permission, userTenantsPermissions) {
587
- const isPermitted = userTenantsPermissions && userTenantsPermissions.length
588
- ? userTenantsPermissions?.some(({ permissionType }) => permissionType === permission)
589
- : false;
590
- return isPermitted;
591
- }
592
- /**
593
- * Filters signed in user tenants permissions from entire tenants permissions.
594
- * @param { UserPermission[] }
595
- * @return {TenantsPermissions[]}
596
- * @memberof TenantPermissionsService
597
- */
598
- filterTenantsPermissions(userPermissions, tenantsPermissions) {
599
- const userTenantsPermission = tenantsPermissions?.filter((permission) => {
600
- return userPermissions?.find(({ permissionId }) => permission?.permissionId === permissionId);
601
- });
602
- return userTenantsPermission;
603
- }
604
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantPermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
605
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantPermissionsService, providedIn: 'root' }); }
606
- }
607
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantPermissionsService, decorators: [{
608
- type: Injectable,
609
- args: [{
610
- providedIn: 'root',
611
- }]
612
- }] });
613
-
614
- class TenantPermissionsMapService {
615
- constructor() {
616
- this.globalTenantsPermissions = [
617
- {
618
- permissionType: PermissionType.VIEW_TENANTS,
619
- permissionId: 'PERM_1a2dbbb5-5fe1-4261-85b1-a5373f41075a',
620
- permissionName: 'View Tenant Applications',
621
- },
622
- {
623
- permissionType: PermissionType.MANAGE_TENANT,
624
- permissionId: 'PERM_315c49ec-f79a-4dcd-9795-6f97838c8c83',
625
- permissionName: 'Manage (Create, Edit, Disable) Tenant Application',
626
- },
627
- ];
628
- }
629
- /**
630
- * Returns global permissions mapping for tenants.
631
- * @return {TenantsPermissions[]}
632
- * @memberof TenantsPermissionsMapService
633
- */
634
- getGlobalTenantsPermissions() {
635
- return this.globalTenantsPermissions;
636
- }
637
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantPermissionsMapService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
638
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantPermissionsMapService, providedIn: 'root' }); }
639
- }
640
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantPermissionsMapService, decorators: [{
641
- type: Injectable,
642
- args: [{
643
- providedIn: 'root',
644
- }]
645
- }] });
646
-
647
- class TenantApplicationsService {
648
- constructor(
649
- // eslint-disable-next-line no-unused-vars
650
- httpService,
651
- // eslint-disable-next-line no-unused-vars
652
- tenantPermissionsService,
653
- // eslint-disable-next-line no-unused-vars
654
- tenantPermissionsMapService // eslint-disable-next-line no-empty-function
655
- ) {
656
- this.httpService = httpService;
657
- this.tenantPermissionsService = tenantPermissionsService;
658
- this.tenantPermissionsMapService = tenantPermissionsMapService;
659
- this.tenantsText = viewTenants?.errors;
660
- this.createTenantsText = createTenant?.errors;
661
- this.radioOptions = [];
662
- this.checkBoxOptions = [];
663
- this.appTypeInfo = [];
664
- this.featureList = [];
665
- this.roleTypeOptions = [];
666
- this.isGroupTypeAddedOrModified = new Subject();
667
- }
668
- setAppConfig(apiBaseUrl, userPermission) {
669
- this.apiBaseUrl = apiBaseUrl;
670
- this.userPermission = userPermission;
671
- }
672
- /**
673
- * Gets tenant details from server using HttpService
674
- * @param {string} appId
675
- * @return {Observable<TenantDetailsResponse>}
676
- * @memberof TenantApplicationsService
677
- */
678
- getTenantDetails(appId) {
679
- return this.httpService
680
- .getData(`${this.apiBaseUrl}/configurations/app/details/${appId}`)
681
- .pipe(map((response) => {
682
- return response;
683
- }), catchError((error) => {
684
- throw error;
685
- }));
686
- }
687
- /**
688
- * Sets the user tenants permissions
689
- * @param {TenantsPermissions[]} TenantsPermissions
690
- * @memberof TenantApplicationsService
691
- */
692
- setUserTenantsPermissions(userTenantsPermissions) {
693
- this.userTenantsPermissions = userTenantsPermissions;
694
- }
695
- /**
696
- * Returns the user tenants permissions
697
- * @return {TenantsPermissions[]}
698
- * @memberof TenantApplicationsService
699
- */
700
- getUserTenantsPermissions() {
701
- return this.userTenantsPermissions;
702
- }
703
- /**
704
- * Sets the user tenants information
705
- * @param {TenantBasicInfo} tenantInfo
706
- * @memberof TenantApplicationsService
707
- */
708
- setSelectedTenantInformation(tenantInfo) {
709
- this.selectedTenantInfo = tenantInfo;
710
- }
711
- /**
712
- * Returns the tenants information
713
- * @return {TenantBasicInfo}
714
- * @memberof TenantApplicationsService
715
- */
716
- getSelectedTenantInformation() {
717
- return this.selectedTenantInfo;
718
- }
719
- /**
720
- * Sets the roles informations
721
- * @param {Role} roles
722
- * @memberof TenantApplicationsService
723
- */
724
- setRolesInfo(roles) {
725
- this.roles = roles;
726
- }
727
- /**
728
- * Returns the roles information
729
- * @return {Role}
730
- * @memberof TenantApplicationsService
731
- */
732
- getRolesInfo() {
733
- return this.roles;
734
- }
735
- /**
736
- * Sets the selected role information.
737
- * @param {RoleDetails} roleInfo
738
- * @memberof TenantApplicationsService
739
- */
740
- setSelectedRoleInformation(roleInfo) {
741
- this.selectedRoleInfo = roleInfo;
742
- }
743
- /**
744
- * Returns the selected role information.
745
- * @return {RoleDetails}
746
- * @memberof TenantApplicationsService
747
- */
748
- getSelectedRoleInformation() {
749
- return this.selectedRoleInfo;
750
- }
751
- /**
752
- * Sets the tenant role type options.
753
- * @param {RoleTypeOption} roleTypeOptions
754
- * @memberof TenantApplicationsService
755
- */
756
- setRoleTypeOption(roleTypeOptions) {
757
- this.roleTypeOption = roleTypeOptions;
758
- }
759
- /**
760
- * Returns the tenant role type options.
761
- * @return {RoleTypeOption}
762
- * @memberof TenantApplicationsService
763
- */
764
- getRoleTypeOption() {
765
- return this.roleTypeOption;
766
- }
767
- /**
768
- * Sets the list of application type information
769
- * @param {RadioOption} appTypeInfo
770
- * @memberof TenantApplicationsService
771
- */
772
- setApplicationType(appTypeInfo) {
773
- this.appTypeInfo = appTypeInfo;
774
- }
775
- /**
776
- * Returns the list of application type information
777
- * @return {RadioOption}
778
- * @memberof TenantApplicationsService
779
- */
780
- getApplicationType() {
781
- return this.appTypeInfo;
782
- }
783
- /**
784
- * Filter permissions
785
- * @param usersPermissions
786
- * @returns @memberof TenantApplicationsService
787
- */
788
- filterPermission(usersPermissions) {
789
- return this.tenantPermissionsService?.filterTenantsPermissions(usersPermissions, this.tenantPermissionsMapService?.getGlobalTenantsPermissions());
790
- }
791
- /**
792
- * Validating access for tenants
793
- * @param permissionType Permission Type to validate permission
794
- * @param mappedUserPermissions Permission which are mapped with tenants
795
- * @returns true if permission is granted
796
- */
797
- validateAccess(permissionType, permissions) {
798
- return this.tenantPermissionsService.validateAccessPermission(permissionType, permissions);
799
- }
800
- /**
801
- * Gets the tenants.
802
- * @param {GetTenantsPayload} payload
803
- * @return {Observable<GetTenantsResponse>}
804
- * @memberof TenantApplicationsService
805
- */
806
- getTenantsList(payload) {
807
- return this.httpService
808
- .postData(`${this.apiBaseUrl}/configurations/app/config`, payload)
809
- .pipe(map((response) => {
810
- return response;
811
- }), catchError((error) => {
812
- throw error;
813
- }));
814
- }
815
- /**
816
- * Gets list of features from server using HttpService.
817
- * @return {Observable<GetFeaturesResponse>}
818
- * @memberof TenantApplicationsService
819
- */
820
- getFeatures() {
821
- return this.httpService
822
- .getData(`${this.apiBaseUrl}/configurations/app/features`)
823
- .pipe(map((response) => {
824
- return response;
825
- }), catchError((error) => {
826
- throw error;
827
- }));
828
- }
829
- /**
830
- * Gets list of roles from server using HttpService.
831
- * @param {string} appId
832
- * @return {*} {Observable<GetRolesResponse>}
833
- * @memberof TenantApplicationsService
834
- */
835
- getRoles(appId) {
836
- return this.httpService
837
- .getData(`${this.apiBaseUrl}/groups/role/${appId}`)
838
- .pipe(map((response) => {
839
- return response;
840
- }), catchError((error) => {
841
- throw error;
842
- }));
843
- }
844
- /**
845
- * Gets the list of permissions based on the appId and return the success or error response as Observable.
846
- * @param {string} appId
847
- * @return {Observable<GetPermissionsResponse>}
848
- * @memberof TenantApplicationsService
849
- */
850
- getPermissions(appId) {
851
- return this.httpService
852
- .getData(`${this.apiBaseUrl}/groups/permissions/${appId}`)
853
- .pipe(map((response) => {
854
- return response;
855
- }), catchError((error) => {
856
- throw error;
857
- }));
858
- }
859
- /**
860
- * Gets the list of roles or permissions based on the roleId or permissionId in the payload and return the success or error response as Observable.
861
- * @param {RolePermissionMappingRequestPayload} payload
862
- * @returns {Observable<RolePermissionMappingResponse>}
863
- * @memberof TenantApplicationsService
864
- */
865
- getRolePermissionMapping(payload) {
866
- return this.httpService
867
- .postData(`${this.apiBaseUrl}/groups/users/rolePermissionMapping`, payload)
868
- .pipe(map((response) => {
869
- return response;
870
- }), catchError((error) => {
871
- throw error;
872
- }));
873
- }
874
- /**
875
- * Submit the new mappings of roles to permissions to the server.
876
- * @param {RolesAndPermissionsRequestPayload} payload
877
- * @returns {Observable<RolesAndPermissionsResponse>}
878
- * @memberof TenantApplicationsService
879
- */
880
- saveRolePermissionMapping(payload) {
881
- return this.httpService
882
- .postData(`${this.apiBaseUrl}/groups/users/rolePermission`, payload)
883
- .pipe(map((response) => {
884
- return response;
885
- }), catchError((error) => {
886
- throw error;
887
- }));
888
- }
889
- /**
890
- * Gets list of roles and permissions mappings from server using HttpService.
891
- * @param {string} appId
892
- * @param {GetRolesAndPermissionsPayload} payload
893
- * @return {*} {Observable<GetRolesAndPermissionsResponse>}
894
- * @memberof TenantApplicationsService
895
- */
896
- getRolesAndPermissionsMappings(appId, payload) {
897
- return this.httpService
898
- .postData(`${this.apiBaseUrl}/groups/roleBasedPermissions/${appId}`, payload)
899
- .pipe(map((response) => {
900
- return response;
901
- }), catchError((error) => {
902
- throw error;
903
- }));
904
- }
905
- /**
906
- * Gets list of application types from server using HttpService.
907
- * @return {Observable<GetAppTypesResponse>}
908
- * @memberof TenantApplicationsService
909
- */
910
- getApplicationTypes() {
911
- return this.httpService
912
- .getData(`${this.apiBaseUrl}/configurations/config/app_type`)
913
- .pipe(map((response) => {
914
- return response;
915
- }), catchError((error) => {
916
- throw error;
917
- }));
918
- }
919
- /**
920
- * Posts create role form data to server using HttpService to create a new role.
921
- * @param {CreateModifyRoleRequestPayload} createModifyRolePayload
922
- * @return {Observable<CreateModifyRoleResponse>}
923
- * @memberof TenantApplicationsService
924
- */
925
- createRole(createModifyRolePayload) {
926
- return this.httpService
927
- .postData(`${this.apiBaseUrl}/groups/role`, createModifyRolePayload)
928
- .pipe(map((response) => {
929
- return response;
930
- }), catchError((error) => {
931
- throw error;
932
- }));
933
- }
934
- /**
935
- * Posts the edited role form data to server using HttpService for updating the role information.
936
- * @param {CreateModifyRoleRequestPayload} createModifyRolePayload
937
- * @return {Observable<CreateModifyRoleResponse>}
938
- * @memberof TenantApplicationsService
939
- */
940
- editRole(createModifyRolePayload) {
941
- return this.httpService
942
- .putData(`${this.apiBaseUrl}/groups/role`, createModifyRolePayload)
943
- .pipe(map((response) => {
944
- return response;
945
- }), catchError((error) => {
946
- throw error;
947
- }));
948
- }
949
- /**
950
- * Gets list of role types from server using HttpService.
951
- * @param {GetRoleTypesPayload} payload
952
- * @return {Observable<RoleTypeResponse>}
953
- * @memberof TenantApplicationsService
954
- */
955
- getRoleTypes(payload) {
956
- return this.httpService
957
- .postData(`${this.apiBaseUrl}/configurations/config/configField`, payload)
958
- .pipe(map((response) => {
959
- return response;
960
- }), catchError((error) => {
961
- throw error;
962
- }));
963
- }
964
- /**
965
- * Constructs the select/dropdown options from the role types received from server.
966
- * @param {RoleTypeConfiguration[]} roleTypeResponse
967
- * @return {RoleTypeOption[]}
968
- * @memberof TenantApplicationsService
969
- */
970
- getRoleTypeOptions(roleTypeResponse) {
971
- this.roleTypeOptions = [];
972
- roleTypeResponse.forEach((item) => {
973
- this.roleTypeOptions?.push({
974
- id: item?.configFieldId,
975
- name: item?.configFieldValue?.roleTypeName,
976
- order: item?.configFieldValue?.viewOrder,
977
- });
978
- });
979
- this.roleTypeOptions.sort((a, b) => a.order - b.order);
980
- return this.roleTypeOptions;
981
- }
982
- /**
983
- * Posts tenant application form data to server using HttpService for creating new tenant application.
984
- * @param {CreateTenantPayload} createTenantPayload
985
- * @return {Observable<CreateTenantResponse>}
986
- * @memberof TenantApplicationsService
987
- */
988
- createTenant(createTenantPayload) {
989
- return this.httpService
990
- .postData(`${this.apiBaseUrl}/configurations/app/createTenant`, createTenantPayload)
991
- .pipe(map((response) => {
992
- return response;
993
- }), catchError((error) => {
994
- throw error;
995
- }));
996
- }
997
- /**
998
- * Constructs the checkbox options from features list from server.
999
- * @param {FeaturesList[]} features
1000
- * @returns {CheckboxOption[]}
1001
- */
1002
- getFeatureOptions(features) {
1003
- this.checkBoxOptions = [];
1004
- features?.forEach((feature) => {
1005
- this.checkBoxOptions?.push({
1006
- id: feature?.featureId,
1007
- name: feature?.featureName,
1008
- checked: feature?.isDefault,
1009
- disabled: feature?.isDefault,
1010
- });
1011
- });
1012
- return this.checkBoxOptions;
1013
- }
1014
- /**
1015
- * Constructs the radio options from application types from server.
1016
- * @param {AppTypeConfig[]} appTypeOptions
1017
- * @returns {RadioOption[]}
1018
- */
1019
- getApplicationTypeOptions(appTypeOptions) {
1020
- this.radioOptions = [];
1021
- appTypeOptions?.forEach((appType) => {
1022
- this.radioOptions?.push({
1023
- id: appType?.configFieldId,
1024
- label: appType?.configFieldValue?.type,
1025
- });
1026
- });
1027
- return this.radioOptions;
1028
- }
1029
- /**
1030
- * Constructs the selected features id's.
1031
- * @param {CheckboxOption[]} featureOptions
1032
- * @returns {FeatureId[]}
1033
- */
1034
- getFeatureIds(featureOptions) {
1035
- const featureIds = [];
1036
- featureOptions?.forEach((featureOption) => {
1037
- if (featureOption?.checked) {
1038
- featureIds.push({
1039
- featureId: featureOption.id,
1040
- });
1041
- }
1042
- });
1043
- return featureIds;
1044
- }
1045
- /**
1046
- * Sets the newly created tenant information.
1047
- * @param {NewTenantInfo} newTenantInfo
1048
- */
1049
- setNewTenantInfo(newTenantInfo) {
1050
- this.newTenantInfo = newTenantInfo;
1051
- }
1052
- /**
1053
- * Returns the newly created tenant information.
1054
- */
1055
- get getNewTenantInfo() {
1056
- return this.newTenantInfo;
1057
- }
1058
- /**
1059
- * Sets tenant function type.
1060
- * @param {TenantFunctionType} tenantFunctionType -tenant function type.
1061
- */
1062
- setTenantFunctionType(tenantFunctionType) {
1063
- this.tenantFunctionType = tenantFunctionType;
1064
- }
1065
- /**
1066
- * Returns tenant function type.
1067
- * @return {TenantFunctionType} -tenant function type.
1068
- */
1069
- getTenantFunctionType() {
1070
- return this.tenantFunctionType;
1071
- }
1072
- /**
1073
- * Stores the newly created role information.
1074
- * @param {RoleInfo} newlyCreatedRole -create role information.
1075
- */
1076
- setNewlyCreatedRoleInfo(newlyCreatedRole) {
1077
- this.newlyCreatedRole = newlyCreatedRole;
1078
- }
1079
- /**
1080
- * Returns the newly created role information.
1081
- * @return {RoleInfo} -create role information.
1082
- */
1083
- getNewlyCreatedRoleInfo() {
1084
- return this.newlyCreatedRole;
1085
- }
1086
- /**
1087
- * Stores the newly created group type information.
1088
- * @param {CreatedOrModifiedGroupTypeInfo} newlyCreatedGroupType
1089
- * @memberof TenantApplicationsService
1090
- */
1091
- setNewlyCreatedGroupTypeInfo(newlyCreatedGroupType) {
1092
- this.newlyCreatedGroupType = newlyCreatedGroupType;
1093
- }
1094
- /**
1095
- * Returns the newly created group type information.
1096
- * @return {*} {CreatedOrModifiedGroupTypeInfo}
1097
- * @memberof TenantApplicationsService
1098
- */
1099
- getNewlyCreatedGroupTypeInfo() {
1100
- return this.newlyCreatedGroupType;
1101
- }
1102
- /**
1103
- * Posts the edited tenant application form data to server using HttpService for updating the tenant information.
1104
- * @param {CreateTenantPayload} editTenantPayload
1105
- * @return {Observable<CreateTenantResponse>}
1106
- * @memberof TenantApplicationsService
1107
- */
1108
- editTenant(editTenantPayload) {
1109
- return this.httpService
1110
- .putData(`${this.apiBaseUrl}/configurations/app/editTenant`, editTenantPayload)
1111
- .pipe(map((response) => {
1112
- return response;
1113
- }), catchError((error) => {
1114
- throw error;
1115
- }));
1116
- }
1117
- /**
1118
- * Sends update request to the server to update the tenant application status to active/inactive using HttpService and returns the success or failure response.
1119
- * @param {UpdateTenantStatusRequestPayload} updateTenantStatusPayload
1120
- * @return {Observable<UpdateTenantStatusResponse>}
1121
- * @memberof TenantApplicationsService
1122
- */
1123
- updateTenantStatus(updateTenantStatusPayload) {
1124
- return this.httpService
1125
- .putData(`${this.apiBaseUrl}/configurations/app/updateStatus`, updateTenantStatusPayload)
1126
- .pipe(map((response) => {
1127
- return response;
1128
- }), catchError((error) => {
1129
- throw error;
1130
- }));
1131
- }
1132
- /**
1133
- * It generates Feature list from checkbox options generated in form array.
1134
- * @param {CheckboxOption[]} features
1135
- * @return {Features[]}
1136
- * @memberof TenantApplicationsService
1137
- */
1138
- getFeaturesList(features) {
1139
- this.featureList = [];
1140
- features?.forEach((feature) => {
1141
- if (feature.checked)
1142
- this.featureList?.push({
1143
- featureId: feature?.id,
1144
- featureName: feature?.name,
1145
- isDefault: feature?.checked,
1146
- });
1147
- });
1148
- return this.featureList;
1149
- }
1150
- /**
1151
- * Gets roster type from server using HttpService.
1152
- * @return {*} {Observable<GetRosterTypeOrSettingsResponse>}
1153
- * @memberof TenantApplicationsService
1154
- */
1155
- getRosterType() {
1156
- return this.httpService
1157
- .getData(`${this.apiBaseUrl}/configurations/lookup/RosterType`)
1158
- .pipe(map((response) => {
1159
- return response;
1160
- }), catchError((error) => {
1161
- throw error;
1162
- }));
1163
- }
1164
- /**
1165
- * Gets group type settings from server using HttpService.
1166
- * @return {*} {Observable<GetRosterTypeOrSettingsResponse>}
1167
- * @memberof TenantApplicationsService
1168
- */
1169
- getGroupTypeSettings() {
1170
- return this.httpService
1171
- .getData(`${this.apiBaseUrl}/configurations/lookup/GT_Settings`)
1172
- .pipe(map((response) => {
1173
- return response;
1174
- }), catchError((error) => {
1175
- throw error;
1176
- }));
1177
- }
1178
- /**
1179
- * Posts the group type details to server using HttpService to create new group type.
1180
- * @param {CreateGroupTypeRequestPayload} createGroupTypePayload
1181
- * @return {*} {Observable<CreateGroupTypeResponse>}
1182
- * @memberof TenantApplicationsService
1183
- */
1184
- createGroupType(createGroupTypePayload) {
1185
- return this.httpService
1186
- .postData(`${this.apiBaseUrl}/configurations/config/groupType`, createGroupTypePayload)
1187
- .pipe(map((response) => {
1188
- return response;
1189
- }), catchError((error) => {
1190
- throw error;
1191
- }));
1192
- }
1193
- /**
1194
- * Returns sorted role list data.
1195
- * @param {Role[]} roleList
1196
- * @return {Role[]}
1197
- * @memberof TenantApplicationsService
1198
- */
1199
- sortRolesByRoleType(roleList) {
1200
- return roleList.sort((a, b) => a?.viewOrder - b?.viewOrder);
1201
- }
1202
- /**
1203
- * Posts the role details to server using HttpService for deleting the role.
1204
- * @param {DeleteRoleRequestPayload} deleteRoleRequestPayload
1205
- * @return {Observable<DeleteRoleResponse>}
1206
- * @memberof TenantApplicationsService
1207
- */
1208
- deleteRole(deleteRolePayload) {
1209
- return this.httpService
1210
- .putData(`${this.apiBaseUrl}/groups/role/deleteRole`, deleteRolePayload)
1211
- .pipe(map((response) => {
1212
- return response;
1213
- }), catchError((error) => {
1214
- throw error;
1215
- }));
1216
- }
1217
- /**
1218
- * Gets group types from server using HttpService.
1219
- * @param {string} appId
1220
- * @return {Observable<ViewGroupTypeResponse>}
1221
- * @memberof TenantApplicationsService
1222
- */
1223
- getGroupTypes(appId) {
1224
- return this.httpService
1225
- .getData(`${this.apiBaseUrl}/configurations/config/appGroupTypeDetails/${appId}`)
1226
- .pipe(map((response) => {
1227
- return response;
1228
- }), catchError((error) => {
1229
- throw error;
1230
- }));
1231
- }
1232
- /**
1233
- * Sets group type details.
1234
- * @param {ViewGroupTypeResponse} groupTypes
1235
- * @memberof TenantApplicationsService
1236
- */
1237
- setGroupTypeDetails(groupTypes) {
1238
- this.groupTypes = groupTypes;
1239
- }
1240
- /**
1241
- * Returns group type details.
1242
- * @return {ViewGroupTypeResponse}
1243
- * @memberof TenantApplicationsService
1244
- */
1245
- getGroupTypeDetails() {
1246
- return this.groupTypes;
1247
- }
1248
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsService, deps: [{ token: i2.HttpService }, { token: TenantPermissionsService }, { token: TenantPermissionsMapService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1249
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsService, providedIn: 'root' }); }
1250
- }
1251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsService, decorators: [{
1252
- type: Injectable,
1253
- args: [{
1254
- providedIn: 'root',
1255
- }]
1256
- }], ctorParameters: function () { return [{ type: i2.HttpService }, { type: TenantPermissionsService }, { type: TenantPermissionsMapService }]; } });
1257
-
1258
- class CreateTenantApplicationComponent {
1259
- constructor(
1260
- // eslint-disable-next-line no-unused-vars
1261
- fileUploadService,
1262
- // eslint-disable-next-line no-unused-vars
1263
- tenantAppService,
1264
- // eslint-disable-next-line no-unused-vars
1265
- sharedService // eslint-disable-next-line no-empty-function
1266
- ) {
1267
- this.fileUploadService = fileUploadService;
1268
- this.tenantAppService = tenantAppService;
1269
- this.sharedService = sharedService;
1270
- this.destroy$ = new Subject();
1271
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1272
- this.constants = screenText;
1273
- this.createTenantTexts = this.constants?.createTenant;
1274
- this.leftButtonLabel = this.createTenantTexts?.label?.leftButtonLabel;
1275
- this.rightButtonLabel = this.createTenantTexts?.label?.rightButtonLabel;
1276
- this.colWidth = { xs: 12, xl: 12, sm: 12, md: 12, lg: 12 };
1277
- this.actionButtonAlign = AlignType.LEFT;
1278
- this.submitFormResponse = new EventEmitter();
1279
- this.formCancel = new EventEmitter();
1280
- this.allowedFileTypes = [
1281
- AllowedFileTypes.JPG,
1282
- AllowedFileTypes.PNG,
1283
- AllowedFileTypes.SVG,
1284
- ];
1285
- this.isAppLogoModified = false;
1286
- }
1287
- ngOnInit() {
1288
- this.tenantFunctionType = this.tenantAppService?.getTenantFunctionType();
1289
- this.selectedTenantInfo =
1290
- this.tenantAppService?.getSelectedTenantInformation();
1291
- this.fileUploadService.setApiBaseUrl(this.tenantAppService?.apiBaseUrl);
1292
- this.getFeatures();
1293
- }
1294
- /**
1295
- * Gets the list of features and updates the form control.
1296
- * @memberof CreateTenantApplicationComponent
1297
- */
1298
- getFeatures() {
1299
- this.tenantAppService
1300
- .getFeatures()
1301
- .pipe(takeUntil(this.destroy$))
1302
- .subscribe({
1303
- next: (response) => {
1304
- if (response?.status) {
1305
- this.featuresOptions = this.tenantAppService.getFeatureOptions(response?.body);
1306
- if (this.tenantFunctionType === TenantFunctionType.EDIT)
1307
- this.featuresOptions?.forEach((option) => {
1308
- if (this.selectedTenantInfo?.features?.some((feature) => feature?.featureId === option?.id)) {
1309
- option.checked = true;
1310
- }
1311
- });
1312
- this.getApplicationTypes();
1313
- }
1314
- },
1315
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1316
- error: (error) => {
1317
- this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
1318
- },
1319
- });
1320
- }
1321
- /**
1322
- * Gets the application/tenant types and updates the form control.
1323
- * @memberof CreateTenantApplicationComponent
1324
- */
1325
- getApplicationTypes() {
1326
- this.tenantAppService
1327
- .getApplicationTypes()
1328
- .pipe(takeUntil(this.destroy$))
1329
- .subscribe({
1330
- next: (response) => {
1331
- if (response?.status) {
1332
- this.appTypeOptions =
1333
- this.tenantAppService.getApplicationTypeOptions(response?.body);
1334
- if (this.tenantFunctionType === TenantFunctionType.EDIT) {
1335
- this.appTypeOptions?.forEach((radioOption) => {
1336
- if (radioOption?.id === this.selectedTenantInfo?.appType) {
1337
- radioOption.checked = true;
1338
- this.selectedAppTypeOption = radioOption;
1339
- }
1340
- else {
1341
- radioOption.checked = false;
1342
- }
1343
- });
1344
- }
1345
- this.initializeCreateTenantFormGroup();
1346
- }
1347
- },
1348
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1349
- error: (error) => {
1350
- this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
1351
- },
1352
- });
1353
- }
1354
- /**
1355
- * Initialize the create tenant form group array.
1356
- * @memberof CreateTenantApplicationComponent
1357
- */
1358
- initializeCreateTenantFormGroup() {
1359
- this.createTenantFormGroup = {
1360
- formGroup: [
1361
- {
1362
- legend: '',
1363
- controls: [
1364
- {
1365
- type: FormControlType.INPUT,
1366
- label: this.createTenantTexts?.label?.appTitle + '*',
1367
- controlName: 'appTitle',
1368
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1369
- ? this.selectedTenantInfo?.appTitle
1370
- : '',
1371
- validation: [
1372
- Validators.required,
1373
- Validators.maxLength(TenantsValidationPatterns.appTitleMaxLength),
1374
- ],
1375
- supportMessage: this.createTenantTexts?.supportText?.appTitle,
1376
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1377
- maxErrorMessage: this.createTenantTexts?.message?.error?.limit?.appTitleMaxChars,
1378
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appTitle,
1379
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.appTitle,
1380
- },
1381
- {
1382
- type: FormControlType.INPUT,
1383
- label: `${this.createTenantTexts?.label?.appId}${this.tenantFunctionType === TenantFunctionType.EDIT ? '' : '*'}`,
1384
- controlName: 'appId',
1385
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1386
- ? this.selectedTenantInfo?.appId
1387
- : '',
1388
- validation: [
1389
- Validators.required,
1390
- Validators.maxLength(TenantsValidationPatterns.appIdMaxLength),
1391
- Validators.pattern(TenantsValidationPatterns.alphaNumeric),
1392
- ],
1393
- disabled: this.tenantFunctionType === TenantFunctionType.EDIT,
1394
- supportMessage: this.tenantFunctionType === TenantFunctionType.EDIT
1395
- ? ''
1396
- : this.createTenantTexts?.supportText?.appId,
1397
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1398
- maxErrorMessage: this.createTenantTexts?.message?.error?.limit?.appIdMaxChars,
1399
- patternErrorMessage: this.createTenantTexts?.message?.error?.pattern?.appId,
1400
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appId,
1401
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.appId,
1402
- },
1403
- {
1404
- type: FormControlType?.FILE_UPLOAD,
1405
- label: this.createTenantTexts?.label?.appLogo + '*',
1406
- controlName: 'appLogo',
1407
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1408
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1409
- ? this.selectedTenantInfo?.appLogo
1410
- : '',
1411
- placeholder: '',
1412
- isFileSelected: this.tenantFunctionType === TenantFunctionType.EDIT,
1413
- supportMessage: this.createTenantTexts?.supportText?.appLogo,
1414
- validation: [Validators.required],
1415
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appLogo,
1416
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.appLogo,
1417
- isMultiFileUpload: false,
1418
- maxUploadFileSize: 2,
1419
- maxFileSizeErrorMessage: this.createTenantTexts?.message?.error?.limit?.appLogoMaxSize,
1420
- allowedFileTypeErrorMessage: this.createTenantTexts?.message?.error?.invalidFile,
1421
- allowedFileTypes: this.allowedFileTypes,
1422
- },
1423
- {
1424
- type: FormControlType.INPUT,
1425
- label: this.createTenantTexts?.label?.appHeading + '*',
1426
- controlName: 'appHeading',
1427
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1428
- ? this.selectedTenantInfo?.appHeading
1429
- : '',
1430
- validation: [
1431
- Validators.required,
1432
- Validators.maxLength(TenantsValidationPatterns.appHeadingMaxLength),
1433
- ],
1434
- supportMessage: this.createTenantTexts?.supportText?.appHeading,
1435
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1436
- maxErrorMessage: this.createTenantTexts?.message?.error?.limit
1437
- ?.appHeadingMaxChars,
1438
- patternErrorMessage: this.createTenantTexts?.message?.error?.pattern?.email,
1439
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appHeading,
1440
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.appHeading,
1441
- },
1442
- {
1443
- type: FormControlType.TEXT_AREA,
1444
- label: this.createTenantTexts?.label?.appDescription + '*',
1445
- controlName: 'appDescription',
1446
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1447
- ? this.selectedTenantInfo?.appDescription
1448
- : '',
1449
- validation: [
1450
- Validators.required,
1451
- Validators.maxLength(TenantsValidationPatterns.appDescriptionMaxLength),
1452
- ],
1453
- supportMessage: this.createTenantTexts?.supportText?.appDescription,
1454
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1455
- maxErrorMessage: this.createTenantTexts?.message?.error?.limit
1456
- ?.appDescriptionMaxChars,
1457
- maxCharCount: TenantsValidationPatterns.appDescriptionMaxLength,
1458
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appDescription,
1459
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById
1460
- ?.appDescription,
1461
- ariaMultiline: true,
1462
- isResize: true,
1463
- },
1464
- {
1465
- type: FormControlType.COLOR_PICKER,
1466
- label: this.createTenantTexts?.label?.appBgColor + '*',
1467
- controlName: 'backgroundColor',
1468
- value: '',
1469
- defaultColor: this.tenantFunctionType === TenantFunctionType.EDIT
1470
- ? this.selectedTenantInfo?.backgroundColor
1471
- : '',
1472
- placeholder: '',
1473
- supportMessage: this.createTenantTexts?.supportText?.appBgColor,
1474
- validation: [Validators.required, validColorValidator()],
1475
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1476
- invalidColorErrorMessage: this.createTenantTexts?.message?.error?.invalidColor,
1477
- ariaLabel: this.createTenantTexts?.supportText?.appBgColor,
1478
- ariaDescribedById: this.createTenantTexts?.supportText?.appBgColor,
1479
- },
1480
- {
1481
- type: FormControlType.INPUT,
1482
- label: this.createTenantTexts?.label?.appHelpLink + '*',
1483
- controlName: 'appHelpLink',
1484
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1485
- ? this.selectedTenantInfo?.appHelpLink
1486
- : '',
1487
- validation: [
1488
- Validators.required,
1489
- Validators.pattern(TenantsValidationPatterns.url),
1490
- ],
1491
- supportMessage: this.createTenantTexts?.supportText?.appHelpLink,
1492
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1493
- patternErrorMessage: this.createTenantTexts?.message?.error?.pattern?.appHelpLink,
1494
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appHelpLink,
1495
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.appHelpLink,
1496
- },
1497
- {
1498
- type: FormControlType.CHECKBOX,
1499
- label: this.createTenantTexts?.label?.featuresList + '*',
1500
- controlName: 'features',
1501
- checkboxOptions: this.featuresOptions,
1502
- minSelectionRequired: 1,
1503
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.featuresList,
1504
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.featuresList,
1505
- supportMessage: this.createTenantTexts?.supportText?.featuresList,
1506
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1507
- validation: [Validators.required],
1508
- },
1509
- {
1510
- type: FormControlType.INPUT,
1511
- label: this.createTenantTexts?.label?.domainURL + '*',
1512
- controlName: 'appDomainUrl',
1513
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1514
- ? this.selectedTenantInfo?.appDomainUrl
1515
- : '',
1516
- validation: [
1517
- Validators.required,
1518
- Validators.pattern(TenantsValidationPatterns.url),
1519
- ],
1520
- supportMessage: this.createTenantTexts?.supportText?.domainURL,
1521
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1522
- patternErrorMessage: this.createTenantTexts?.message?.error?.pattern?.appDomainUrl,
1523
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.domainURL,
1524
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.domainURL,
1525
- },
1526
- {
1527
- type: FormControlType.RADIO,
1528
- label: `${this.createTenantTexts?.label?.appType}${this.tenantFunctionType === TenantFunctionType.EDIT ? '' : '*'}`,
1529
- controlName: 'appType',
1530
- value: this.tenantFunctionType === TenantFunctionType.EDIT
1531
- ? this.selectedTenantInfo?.appType
1532
- : '',
1533
- disabled: this.tenantFunctionType === TenantFunctionType.EDIT,
1534
- radioOptions: this.appTypeOptions,
1535
- validation: [Validators.required],
1536
- requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
1537
- ariaLabel: this.createTenantTexts?.label?.ariaLabel?.appType,
1538
- ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.appType,
1539
- },
1540
- ],
1541
- },
1542
- ],
1543
- };
1544
- }
1545
- /**
1546
- * Creates Payload and gets presigned url for file upload on form submission.
1547
- * @param {FormGroup[]} form
1548
- * @memberof CreateTenantApplicationComponent
1549
- */
1550
- onCreateTenantFormSubmit(form) {
1551
- form[0]?.markAllAsTouched();
1552
- if (form[0].status === FormStatus.VALID) {
1553
- this.createTenantPayload = this.getCreateTenantPayload(form[0].getRawValue());
1554
- if (this.tenantFunctionType === TenantFunctionType.EDIT &&
1555
- (!this.isAppLogoModified || !this.file)) {
1556
- this.editTenant();
1557
- }
1558
- else if (this.file) {
1559
- this.getFileUploadPresignedUrl(this.file, form[0]?.controls['appId']?.value);
1560
- }
1561
- else {
1562
- this.createTenant();
1563
- }
1564
- }
1565
- }
1566
- /**
1567
- * Creates a new tenant on form submission.
1568
- * @memberof CreateTenantApplicationComponent
1569
- */
1570
- createTenant() {
1571
- this.tenantAppService
1572
- .createTenant(this.createTenantPayload)
1573
- .pipe(takeUntil(this.destroy$))
1574
- .subscribe({
1575
- next: (response) => {
1576
- if (response.status) {
1577
- this.tenantAppService.setNewTenantInfo(this.createTenantPayload?.payload);
1578
- this.submitFormResponse.emit(response);
1579
- }
1580
- },
1581
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1582
- error: (error) => {
1583
- this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
1584
- },
1585
- });
1586
- }
1587
- /**
1588
- * Updates the modified tenant information on form submission.
1589
- * @memberof CreateTenantApplicationComponent
1590
- */
1591
- editTenant() {
1592
- this.tenantAppService
1593
- .editTenant(this.createTenantPayload)
1594
- .pipe(takeUntil(this.destroy$))
1595
- .subscribe({
1596
- next: (response) => {
1597
- if (response?.status) {
1598
- this.updatedTenantBasicInfo = this.createTenantPayload?.payload;
1599
- this.updatedTenantBasicInfo.features =
1600
- this.tenantAppService.getFeaturesList(this.featuresOptions);
1601
- this.tenantAppService.setSelectedTenantInformation(this.updatedTenantBasicInfo);
1602
- this.submitFormResponse.emit(response);
1603
- }
1604
- },
1605
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1606
- error: (error) => {
1607
- this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
1608
- },
1609
- });
1610
- }
1611
- /**
1612
- * Constructs create tenant payload from the form data and returns.
1613
- * @param {*} formData
1614
- * @return {CreateTenantRequestPayload}
1615
- * @memberof CreateTenantApplicationComponent
1616
- */
1617
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1618
- getCreateTenantPayload(formData) {
1619
- const payload = {
1620
- payload: {
1621
- appTitle: formData?.appTitle,
1622
- appId: formData?.appId,
1623
- appHeading: formData?.appHeading,
1624
- appDescription: formData?.appDescription,
1625
- backgroundColor: formData?.backgroundColor,
1626
- appLogo: formData?.appLogo,
1627
- appDomainUrl: formData?.appDomainUrl,
1628
- appHelpLink: formData?.appHelpLink,
1629
- appType: this.selectedAppTypeOption?.id,
1630
- features: this.tenantAppService.getFeatureIds(this.featuresOptions),
1631
- },
1632
- };
1633
- return payload;
1634
- }
1635
- /**
1636
- * Gets create tenant form group reference and disables default features.
1637
- * @param {FormGroup[]} form
1638
- * @memberof CreateTenantApplicationComponent
1639
- */
1640
- getCreateTenantFormGroupRef(form) {
1641
- this.createTenantFormGroupRef = form[0];
1642
- const featuresFormArray = this.createTenantFormGroupRef?.controls['features'];
1643
- this.featuresOptions?.forEach((option, index) => {
1644
- if (option?.disabled) {
1645
- featuresFormArray?.at(index).disable();
1646
- }
1647
- });
1648
- }
1649
- /**
1650
- * Updates createTenantFormGroupRef on add or edit tenant form change event.
1651
- * @param {FormGroup[]} form
1652
- * @memberof CreateTenantApplicationComponent
1653
- */
1654
- onCreateTenantFormChange(form) {
1655
- this.createTenantFormGroupRef = form[0];
1656
- this.isAppLogoModified =
1657
- this.createTenantFormGroupRef?.controls['appLogo']?.dirty &&
1658
- this.tenantFunctionType === TenantFunctionType.EDIT;
1659
- }
1660
- /**
1661
- * Emits form cancel event.
1662
- * @memberof CreateTenantApplicationComponent
1663
- */
1664
- onFormCancel() {
1665
- this.formCancel.emit();
1666
- }
1667
- /**
1668
- * Gets the selected file when the file is browsed and on formFileUpload event is triggered.
1669
- * @param {File | FileList} file
1670
- */
1671
- onFormFileUpload(file) {
1672
- this.file = file;
1673
- }
1674
- /**
1675
- * Gets pre-signed URL to upload the selected file to AWS S3 bucket.
1676
- * @param {File | FileList} file
1677
- */
1678
- getFileUploadPresignedUrl(file, appId) {
1679
- this.fileUploadService
1680
- .getFileUploadPresignedUrl(file, appId)
1681
- .pipe(takeUntil(this.destroy$))
1682
- .subscribe({
1683
- next: (response) => {
1684
- this.fileUploadPresignedUrl = response?.body;
1685
- if (this.fileUploadPresignedUrl)
1686
- this.uploadFileToS3(file);
1687
- },
1688
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function, no-empty-function
1689
- error: (error) => {
1690
- this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
1691
- },
1692
- });
1693
- }
1694
- /**
1695
- * Uploads the file to AWS S3 bucket and submit the form data to API to create new tenant.
1696
- * @param {File | FileList} file
1697
- */
1698
- uploadFileToS3(file) {
1699
- this.fileUploadService
1700
- .uploadFileToS3(this.fileUploadPresignedUrl, file)
1701
- .pipe(takeUntil(this.destroy$))
1702
- .subscribe({
1703
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
1704
- next: (response) => {
1705
- this.fileUploadService.setFileUploadStatus(true);
1706
- // eslint-disable-next-line no-unused-expressions
1707
- this.tenantFunctionType === TenantFunctionType.EDIT
1708
- ? this.editTenant()
1709
- : this.createTenant();
1710
- },
1711
- // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
1712
- error: (error) => {
1713
- this.fileUploadService.setFileUploadStatus(false);
1714
- this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
1715
- },
1716
- });
1717
- }
1718
- /**
1719
- * Triggers when the color picker values has been changed.
1720
- * @param {string} color
1721
- */
1722
- onColorPickerChange(color) {
1723
- this.selectedColor = color;
1724
- }
1725
- /**
1726
- * Triggers when the radio option has been changed.
1727
- * @param {RadioOption} radioOption
1728
- */
1729
- onRadioOptionSelected(radioOption) {
1730
- this.selectedAppTypeOption = radioOption;
1731
- }
1732
- /**
1733
- * Implementation of ngOnDestroy lifecycle hook method to unsubscribe the open observable subscriptions.
1734
- * @memberof CreateTenantApplicationComponent
1735
- */
1736
- ngOnDestroy() {
1737
- this.destroy$.next(true);
1738
- this.destroy$.unsubscribe();
1739
- }
1740
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateTenantApplicationComponent, deps: [{ token: i1.FileUploadService }, { token: TenantApplicationsService }, { token: i2$1.SharedService }], target: i0.ɵɵFactoryTarget.Component }); }
1741
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateTenantApplicationComponent, isStandalone: true, selector: "ieeesa-create-tenant-application", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-modal-dialog.ieeesa-create-tenant,.ieeesa-modal-dialog.ieeesa-edit-tenant{max-width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-container,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-surface,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-dialog-content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal-title{margin-left:15px!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__actions,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em;margin-top:2em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label{padding-left:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content{color:#1c1b1f}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:90%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-flex,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected", "ctaButtonClick", "formMultiSelectAutoCompleteSearch", "formMultiSelectAutoCompleteClearSearchValue", "multiSelectAutoCompleteOptionsSelected", "formRichTextEditorContentChange"], exportAs: ["dynamicForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
1742
- }
1743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateTenantApplicationComponent, decorators: [{
1744
- type: Component,
1745
- args: [{ selector: 'ieeesa-create-tenant-application', standalone: true, imports: [CommonModule, DynamicFormComponent], encapsulation: ViewEncapsulation.None, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-modal-dialog.ieeesa-create-tenant,.ieeesa-modal-dialog.ieeesa-edit-tenant{max-width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-container,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-surface,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-dialog-content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal-title{margin-left:15px!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__actions,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em;margin-top:2em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label{padding-left:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content{color:#1c1b1f}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:90%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-flex,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:100%}}\n"] }]
1746
- }], ctorParameters: function () { return [{ type: i1.FileUploadService }, { type: TenantApplicationsService }, { type: i2$1.SharedService }]; }, propDecorators: { dynamicFormComponent: [{
1747
- type: ViewChild,
1748
- args: [DynamicFormComponent]
1749
- }], submitFormResponse: [{
1750
- type: Output
1751
- }], formCancel: [{
1752
- type: Output
1753
- }] } });
1754
-
1755
- class ViewTenantsListComponent {
1756
- constructor(
1757
- // eslint-disable-next-line no-unused-vars
1758
- dialog,
1759
- // eslint-disable-next-line no-unused-vars
1760
- alertService,
1761
- // eslint-disable-next-line no-unused-vars
1762
- breakpointObserverService,
1763
- // eslint-disable-next-line no-unused-vars
1764
- sharedService,
1765
- // eslint-disable-next-line no-unused-vars
1766
- tenantApplicationsService,
1767
- // eslint-disable-next-line no-unused-vars
1768
- router) {
1769
- this.dialog = dialog;
1770
- this.alertService = alertService;
1771
- this.breakpointObserverService = breakpointObserverService;
1772
- this.sharedService = sharedService;
1773
- this.tenantApplicationsService = tenantApplicationsService;
1774
- this.router = router;
1775
- this.destroy$ = new Subject();
1776
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1777
- this.constants = screenText;
1778
- this.viewTenantsConstants = this.constants?.viewTenants;
1779
- this.isMobileView = false;
1780
- this.tenantsPageInfo = {
1781
- tenantsTitle: '',
1782
- };
1783
- this.apiBaseURL = '';
1784
- this.defaultSortedColumn = ViewTenantsColumnSchemaDef.APP_ID;
1785
- this.createTenant = new EventEmitter();
1786
- this.viewTenantsDetails = new EventEmitter();
1787
- this.tableActions = {
1788
- isPaginationNeeded: true,
1789
- };
1790
- this.tableColumns = this.viewTenantsConstants?.tableColumns;
1791
- this.emptyFieldValueReplacedBy = this.viewTenantsConstants?.emptyFieldValueReplacedBy;
1792
- this.paginatorConfig = {
1793
- recordsPerPage: this.viewTenantsConstants?.pageSizeOptions[0],
1794
- pageSizeOptions: this.viewTenantsConstants.pageSizeOptions,
1795
- totalRecords: 0,
1796
- };
1797
- this.permissionType = PermissionType;
1798
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1799
- this.createTenantScreenTexts = this.constants?.createTenant;
1800
- this.defaultColumnSortDirection = true;
1801
- this.breakpointObserverService
1802
- .getBreakpoint()
1803
- .pipe(takeUntil(this.destroy$))
1804
- .subscribe((result) => {
1805
- this.isMobileView = result.matches;
1806
- });
1807
- }
1808
- /**
1809
- * Sets the user permissions, router config path, base API URL, table column schema and gets the tenants list.
1810
- * @memberof ViewTenantsListComponent
1811
- */
1812
- ngOnInit() {
1813
- this.userTenantsPermissions =
1814
- this.tenantApplicationsService?.filterPermission(this.userPermissions);
1815
- this.tenantApplicationsService?.setAppConfig(this.apiBaseURL, this.userPermissions);
1816
- this.tenantsPageInfo = {
1817
- tenantsTitle: this.viewTenantsConstants?.tenantsTitle,
1818
- };
1819
- this.routePaths = this.routePaths ?? this.constants?.routeConfigPath;
1820
- this.sharedService?.setRoutePaths(this.routePaths);
1821
- this.configureTableInfo();
1822
- this.defaultSortedColumn = this.columnSchema[0].columnDef;
1823
- this.getTenantsAndInitializeTableView(this.getTenantsPayload());
1824
- }
1825
- /**
1826
- * Validates permission based access for provided feature.
1827
- * @param {PermissionType} permissionType
1828
- * @return {boolean}
1829
- * @memberof ViewTenantsListComponent
1830
- */
1831
- validateAccess(permissionType) {
1832
- return this.tenantApplicationsService.validateAccess(permissionType, this.userTenantsPermissions);
1833
- }
1834
- /**
1835
- * Configures table schema to display the tenants in table view.
1836
- * @memberof ViewTenantsListComponent
1837
- */
1838
- configureTableInfo() {
1839
- this.columnSchema = [
1840
- {
1841
- id: 1,
1842
- columnDef: ViewTenantsColumnSchemaDef.APP_ID,
1843
- heading: this.tableColumns?.appId,
1844
- columnType: TableColumnType.LINK,
1845
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1846
- cellData: (element) => `${element.appId}`,
1847
- isSortableColumn: true,
1848
- },
1849
- {
1850
- id: 2,
1851
- columnDef: ViewTenantsColumnSchemaDef.APP_TITLE,
1852
- heading: this.tableColumns?.appTitle,
1853
- columnType: TableColumnType.TEXT,
1854
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1855
- cellData: (element) => `${element.appTitle ?? this.emptyFieldValueReplacedBy}`,
1856
- isSortableColumn: true,
1857
- },
1858
- {
1859
- id: 3,
1860
- columnDef: ViewTenantsColumnSchemaDef.APP_DESCRIPTION,
1861
- heading: this.tableColumns?.appDescription,
1862
- columnType: TableColumnType.TEXT,
1863
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1864
- cellData: (element) => `${element.appDescription ?? this.emptyFieldValueReplacedBy}`,
1865
- },
1866
- {
1867
- id: 4,
1868
- columnDef: ViewTenantsColumnSchemaDef.FEATURES,
1869
- heading: this.tableColumns?.features,
1870
- columnType: TableColumnType.TEXT,
1871
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1872
- cellData: (element) => `${element?.features && element?.features?.length > 0
1873
- ? this.formatFeaturesName(element?.features)
1874
- : this.emptyFieldValueReplacedBy}`,
1875
- },
1876
- {
1877
- id: 5,
1878
- columnDef: ViewTenantsColumnSchemaDef.STATUS,
1879
- heading: this.tableColumns?.status,
1880
- columnType: TableColumnType.TEXT,
1881
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1882
- cellData: (element) => `${element.status ? TenantStatus.ACTIVE : TenantStatus.INACTIVE}`,
1883
- },
1884
- ];
1885
- }
1886
- /**
1887
- * Format the features name in to single sentence with comma separated.
1888
- * @memberof ViewTenantsListComponent
1889
- */
1890
- formatFeaturesName(features) {
1891
- return features
1892
- .map((feature) => {
1893
- // eslint-disable-next-line no-unused-expressions
1894
- return feature.featureName;
1895
- })
1896
- ?.join(', ');
1897
- }
1898
- /**
1899
- * Fetching details of tenants and initialize table view
1900
- * @param {GetTenantsPayload} payload
1901
- * @memberof ViewTenantsListComponent
1902
- */
1903
- getTenantsAndInitializeTableView(payload) {
1904
- this.tenantApplicationsService
1905
- .getTenantsList(payload)
1906
- .pipe(takeUntil(this.destroy$))
1907
- .subscribe({
1908
- next: (response) => {
1909
- this.tableData = response?.body?.appDetails;
1910
- this.paginatorConfig.totalRecords = response?.body
1911
- ?.totalRecords;
1912
- },
1913
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1914
- error: (error) => {
1915
- this.sharedService.handleErrors(error, this.constants?.errors);
1916
- },
1917
- });
1918
- }
1919
- /**
1920
- * Sets the dialog options for create tenant modal and calls openModal method.
1921
- * @return -returns nothing
1922
- * @memberof ViewTenantsListComponent
1923
- */
1924
- openCreateTenantForm() {
1925
- this.tenantApplicationsService.setTenantFunctionType(TenantFunctionType.CREATE);
1926
- const dialogOptions = {
1927
- heading: this.viewTenantsConstants?.addTenant,
1928
- isCloseNeeded: true,
1929
- componentReference: CreateTenantApplicationComponent,
1930
- modalType: ModalType.FORM,
1931
- };
1932
- this.openModal(dialogOptions, 'ieeesa-create-tenant');
1933
- }
1934
- /**
1935
- * Opens modal component with received params and handles form submission success and errors.
1936
- * @param {*} dialogOptions
1937
- * @param {string} [className]
1938
- * @return -returns nothing
1939
- * @memberof ViewTenantsListComponent
1940
- */
1941
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-inferrable-types, no-unused-vars
1942
- openModal(
1943
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1944
- dialogOptions, className) {
1945
- className = className ?? '';
1946
- this.dialogRef = this.dialog?.open(ModalComponent, {
1947
- data: dialogOptions,
1948
- width: '',
1949
- panelClass: ['ieeesa-modal-dialog', className],
1950
- ariaModal: true,
1951
- });
1952
- this.dialogRef?.componentInstance?.submitFormResponse
1953
- .pipe(takeUntil(this.destroy$))
1954
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, no-unused-vars
1955
- .subscribe((result) => {
1956
- this.dialogRef?.close();
1957
- const appTitle = this.tenantApplicationsService.getNewTenantInfo?.appTitle;
1958
- this.sharedService.showAlertMessage(AlertType?.SUCCESS, `${appTitle} ${this.createTenantScreenTexts?.message?.success?.submission}`);
1959
- this.getTenantsAndInitializeTableView(this.getTenantsPayload());
1960
- });
1961
- this.dialogRef?.componentInstance?.formCancel
1962
- .pipe(takeUntil(this.destroy$))
1963
- .subscribe(() => {
1964
- this.dialogRef?.close();
1965
- });
1966
- }
1967
- /**
1968
- * Sorts the tenants by application id or title in ascending or descending.
1969
- * @param {Sort} sort
1970
- * @memberof ViewTenantsListComponent
1971
- */
1972
- onSortTenants(sort) {
1973
- this.defaultSortedColumn = sort.active;
1974
- this.defaultColumnSortDirection =
1975
- sort.direction === TableColumnSortDirection.ASCENDING;
1976
- this.sortConfig = {
1977
- sort: sort,
1978
- isSortedByAscending: this.defaultColumnSortDirection,
1979
- };
1980
- this.getTenantsAndInitializeTableView(this.getTenantsPayload());
1981
- }
1982
- /**
1983
- * Constructs and returns the payload for fetching the tenants list.
1984
- * @returns GetTenantsPayload
1985
- */
1986
- getTenantsPayload() {
1987
- const payload = {
1988
- payload: {
1989
- offset: this.pageEvent?.pageIndex
1990
- ? this.pageEvent?.pageIndex
1991
- : 0,
1992
- pageSize: this.pageEvent?.pageSize
1993
- ? this.pageEvent?.pageSize
1994
- : this.paginatorConfig?.recordsPerPage,
1995
- sortedBy: this.sortConfig?.sort?.active
1996
- ? this.sortConfig?.sort?.active
1997
- : ViewTenantsColumnSchemaDef.APP_ID,
1998
- sortedOrderBy: this.filterSortedOrderBy(this.sortConfig?.isSortedByAscending
1999
- ? this.sortConfig?.isSortedByAscending
2000
- : this.defaultColumnSortDirection),
2001
- },
2002
- };
2003
- return payload;
2004
- }
2005
- /**
2006
- * Returning sorting order according to column definition.
2007
- * @param defaultColumnSortDirection
2008
- * @returns SortOrderBy.ASC | SortOrderBy.DESC
2009
- */
2010
- filterSortedOrderBy(defaultColumnSortDirection) {
2011
- return defaultColumnSortDirection ? SortOrderBy.ASC : SortOrderBy.DESC;
2012
- }
2013
- /**
2014
- * Get the the records according to pagination.
2015
- * @param {{
2016
- * pageOffset: number;
2017
- * pageLimit: number;
2018
- * }} pageEvent
2019
- * @memberof ViewTenantsListComponent
2020
- */
2021
- onTablePaginationChange(pageEvent) {
2022
- this.pageEvent = pageEvent;
2023
- this.getTenantsAndInitializeTableView(this.getTenantsPayload());
2024
- }
2025
- /**
2026
- * Navigates to view tenants detail component.
2027
- * @param {{tenantInfo: TenantBasicInfo}}
2028
- * @memberof ViewTenantsListComponent
2029
- */
2030
- navigateToViewTenantDetails(tenantInfo) {
2031
- if (tenantInfo) {
2032
- this.tenantApplicationsService.setSelectedTenantInformation(tenantInfo);
2033
- }
2034
- if (this.routePaths?.viewTenantDetails)
2035
- this.router.navigate([this.routePaths?.viewTenantDetails], { queryParams: { id: tenantInfo?.appId } });
2036
- else
2037
- this.viewTenantsDetails.emit(tenantInfo);
2038
- }
2039
- /**
2040
- * NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
2041
- * @memberof ViewTenantsListComponent
2042
- * @return -returns nothing
2043
- */
2044
- ngOnDestroy() {
2045
- this.destroy$.next(true);
2046
- this.destroy$.unsubscribe();
2047
- }
2048
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantsListComponent, deps: [{ token: i1$1.MatDialog }, { token: i2.AlertsService }, { token: i2.BreakpointObserverService }, { token: i2$1.SharedService }, { token: TenantApplicationsService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component }); }
2049
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewTenantsListComponent, isStandalone: true, selector: "ieeesa-view-tenants-list", inputs: { tenantsPageInfo: "tenantsPageInfo", apiBaseURL: "apiBaseURL", routePaths: "routePaths", userPermissions: "userPermissions", defaultSortedColumn: "defaultSortedColumn" }, outputs: { createTenant: "createTenant", viewTenantsDetails: "viewTenantsDetails" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{min-width:9em;max-width:9em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{min-width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{min-width:20.25em;max-width:20.25em}.ieeesa-view-tenants-list__content .cdk-column-features{min-width:17em;max-width:17em}.ieeesa-view-tenants-list .ieeesa-data-table__pagination-container{padding-left:11px;padding-right:11px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "hasNestedTable", "tableColumnActions", "tableColumnActionMenuSize", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "tableColumnsHeaderText", "verticalColumnHeaderNumber", "scrollbarSupportMessage", "isScrollSupportMessageNeeded", "isStickyHeaderNeeded", "customStickyHeaderNeeded", "headerElementClassName", "searchResultMessage", "rowMenuActionIcon", "canDisableCheckbox", "isEllipsisRequiredForLink"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick", "tableColumnMenuActionClick", "tableColumnMenuToggleButton", "rowSlideToggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
2050
- }
2051
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantsListComponent, decorators: [{
2052
- type: Component,
2053
- args: [{ selector: 'ieeesa-view-tenants-list', standalone: true, imports: [CommonModule, MatButtonModule, DataTableComponent], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-view-tenants-list\"\r\n [ngClass]=\"{ 'ieeesa-view-tenants-list__mobile': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-headline-lg-32 py-3 mb-0\">\r\n {{ tenantsPageInfo.tenantsTitle }}\r\n </p>\r\n <div class=\"ieeesa-view-tenants-list__content\">\r\n <div class=\"d-flex justify-content-end\">\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button me-3\"\r\n [attr.aria-label]=\"viewTenantsConstants?.ariaLabel?.add\"\r\n (click)=\"openCreateTenantForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{ viewTenantsConstants?.addTenant }}\r\n </button>\r\n </div>\r\n <ieeesa-data-table\r\n [tableDataInfo]=\"tableData\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableActions]=\"tableActions\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [defaultSortedColumn]=\"defaultSortedColumn\"\r\n (sortChange)=\"onSortTenants($event)\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (rowLink)=\"navigateToViewTenantDetails($event)\"\r\n ></ieeesa-data-table>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-view-tenants-list{background-color:#f2f2f2;padding:0 24px 48px}.ieeesa-view-tenants-list__mobile{background-color:#fff}.ieeesa-view-tenants-list__content{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:24px 0}.ieeesa-view-tenants-list__content .cdk-column-appId{min-width:9em;max-width:9em}.ieeesa-view-tenants-list__content .cdk-column-appTitle{min-width:10em;max-width:10em}.ieeesa-view-tenants-list__content .cdk-column-appDescription{min-width:20.25em;max-width:20.25em}.ieeesa-view-tenants-list__content .cdk-column-features{min-width:17em;max-width:17em}.ieeesa-view-tenants-list .ieeesa-data-table__pagination-container{padding-left:11px;padding-right:11px}\n"] }]
2054
- }], ctorParameters: function () { return [{ type: i1$1.MatDialog }, { type: i2.AlertsService }, { type: i2.BreakpointObserverService }, { type: i2$1.SharedService }, { type: TenantApplicationsService }, { type: i5.Router }]; }, propDecorators: { tenantsPageInfo: [{
2055
- type: Input
2056
- }], apiBaseURL: [{
2057
- type: Input
2058
- }], routePaths: [{
2059
- type: Input
2060
- }], userPermissions: [{
2061
- type: Input
2062
- }], defaultSortedColumn: [{
2063
- type: Input
2064
- }], createTenant: [{
2065
- type: Output
2066
- }], viewTenantsDetails: [{
2067
- type: Output
2068
- }] } });
2069
-
2070
- var FeaturePermissionId;
2071
- (function (FeaturePermissionId) {
2072
- // eslint-disable-next-line no-unused-vars
2073
- FeaturePermissionId["MEETINGS_AND_EVENTS"] = "FEATURE_049753e8-ea5c-4fad-adb0-e1456e69c7a5";
2074
- // eslint-disable-next-line no-unused-vars
2075
- FeaturePermissionId["BALLOTS"] = "FEATURE_a0ad3616-20dc-43da-813f-9b76d33f227a";
2076
- })(FeaturePermissionId || (FeaturePermissionId = {}));
2077
-
2078
- class TenantBasicDetailsComponent {
2079
- set tenantDetails(value) {
2080
- this.basicInfo = value;
2081
- this.logo = this.basicInfo?.appLogo;
2082
- this.selectedAppType = this.basicInfo?.appType;
2083
- if (this.basicInfo) {
2084
- this.getAppType();
2085
- this.getFileDownloadPresignedUrls(this.logo);
2086
- }
2087
- }
2088
- constructor(
2089
- // eslint-disable-next-line no-unused-vars
2090
- tenantAppService,
2091
- // eslint-disable-next-line no-unused-vars
2092
- breakpointObserverService,
2093
- // eslint-disable-next-line no-unused-vars
2094
- fileUploadService,
2095
- // eslint-disable-next-line no-unused-vars
2096
- sharedService) {
2097
- this.tenantAppService = tenantAppService;
2098
- this.breakpointObserverService = breakpointObserverService;
2099
- this.fileUploadService = fileUploadService;
2100
- this.sharedService = sharedService;
2101
- this.destroy$ = new Subject();
2102
- this.isMobileView = false;
2103
- this.constants = screenText;
2104
- this.basicDetailTexts = this.constants?.viewTenants?.tenantBasicDetails?.label;
2105
- this.breakpointObserverService
2106
- .getBreakpoint()
2107
- .pipe(takeUntil(this.destroy$))
2108
- .subscribe((result) => {
2109
- this.isMobileView = result?.matches;
2110
- });
2111
- this.tenantAppService.getApplicationType();
2112
- this.fileUploadService.setApiBaseUrl(this.tenantAppService?.apiBaseUrl);
2113
- }
2114
- /**
2115
- * Gets the application types.
2116
- * @memberof TenantBasicDetailsComponent
2117
- */
2118
- getAppType() {
2119
- const appTypes = this.tenantAppService.getApplicationType();
2120
- if (this.basicInfo) {
2121
- const selectedType = appTypes?.find(({ id }) => id === this.basicInfo?.appType);
2122
- this.selectedAppTypeLabel = selectedType?.label;
2123
- }
2124
- }
2125
- /**
2126
- * Retrieves presigned URL for downloading files from Amazon S3 bucket.
2127
- * @memberof TenantBasicDetailsComponent
2128
- */
2129
- getFileDownloadPresignedUrls(fileName) {
2130
- this.fileUploadService
2131
- .getFileDownloadPresignedUrls(fileName)
2132
- .pipe(takeUntil(this.destroy$))
2133
- .subscribe({
2134
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2135
- next: (response) => {
2136
- this.imageUrl = response?.body;
2137
- },
2138
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2139
- error: (error) => {
2140
- this.sharedService.handleErrors(error, this.constants?.viewTenants?.errors);
2141
- },
2142
- });
2143
- }
2144
- /**
2145
- * Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
2146
- * @memberof ViewTenantDetailsComponent
2147
- */
2148
- ngOnDestroy() {
2149
- this.destroy$?.next(true);
2150
- this.destroy$?.unsubscribe();
2151
- }
2152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantBasicDetailsComponent, deps: [{ token: TenantApplicationsService }, { token: i2.BreakpointObserverService }, { token: i1.FileUploadService }, { token: i2$1.SharedService }], target: i0.ɵɵFactoryTarget.Component }); }
2153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TenantBasicDetailsComponent, isStandalone: true, selector: "ieeesa-tenant-basic-details", inputs: { tenantDetails: "tenantDetails" }, ngImport: i0, template: "<div *ngIf=\"basicInfo\" class=\"ieeesa-tenant-basic-info d-flex flex-start flex-column\">\r\n <p class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.title }}</p>\r\n <p class=\"ieeesa-body-md-16\">{{ basicInfo.appTitle }}</p>\r\n <p class=\"ieeesa-body-color-sm-14 mb-2\">{{ basicDetailTexts.logo }}</p>\r\n <ng-container>\r\n <ieeesa-image-preview\r\n class=\"pb-3\"\r\n [imageUrl]=\"imageUrl\"\r\n ></ieeesa-image-preview>\r\n </ng-container>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.heading\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo.appHeading }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.description\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16 me-4\">{{ basicInfo.appDescription }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-2\">{{\r\n basicDetailTexts.bgColor\r\n }}</span>\r\n <p\r\n class=\"ieeesa-tenant-basic-info__bgColor\"\r\n [ngStyle]=\"{ 'background-color': basicInfo.backgroundColor }\"\r\n ></p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.helpLink\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo.appHelpLink }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.listOfFeatures\r\n }}</span>\r\n <ul [ngClass]=\"isMobileView ? '' : 'd-flex gap-5'\">\r\n <li class=\"ieeesa-body-md-16\" *ngFor=\"let feature of basicInfo.features\">\r\n {{ feature?.featureName }}\r\n </li>\r\n </ul>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.domainURL\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo.appDomainUrl }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.type }}</span>\r\n <p class=\"ieeesa-body-md-16\">{{ selectedAppTypeLabel }}</p>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-tenant-basic-info .ieeesa-body-color-sm-14{color:#63666a!important}.ieeesa-tenant-basic-info__bgColor{width:1.85em;height:1.85em;border:1px solid #fffbfe}.ieeesa-tenant-basic-info .ieeesa-body-md-16,.ieeesa-tenant-basic-info .ieeesa-title-sm-16{color:#1c1b1f!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ImagePreviewComponent, selector: "ieeesa-image-preview", inputs: ["imageAltText", "imageUrl"] }], encapsulation: i0.ViewEncapsulation.None }); }
2154
- }
2155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantBasicDetailsComponent, decorators: [{
2156
- type: Component,
2157
- args: [{ selector: 'ieeesa-tenant-basic-details', standalone: true, imports: [CommonModule, ImagePreviewComponent], encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"basicInfo\" class=\"ieeesa-tenant-basic-info d-flex flex-start flex-column\">\r\n <p class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.title }}</p>\r\n <p class=\"ieeesa-body-md-16\">{{ basicInfo.appTitle }}</p>\r\n <p class=\"ieeesa-body-color-sm-14 mb-2\">{{ basicDetailTexts.logo }}</p>\r\n <ng-container>\r\n <ieeesa-image-preview\r\n class=\"pb-3\"\r\n [imageUrl]=\"imageUrl\"\r\n ></ieeesa-image-preview>\r\n </ng-container>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.heading\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo.appHeading }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.description\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16 me-4\">{{ basicInfo.appDescription }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-2\">{{\r\n basicDetailTexts.bgColor\r\n }}</span>\r\n <p\r\n class=\"ieeesa-tenant-basic-info__bgColor\"\r\n [ngStyle]=\"{ 'background-color': basicInfo.backgroundColor }\"\r\n ></p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.helpLink\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo.appHelpLink }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.listOfFeatures\r\n }}</span>\r\n <ul [ngClass]=\"isMobileView ? '' : 'd-flex gap-5'\">\r\n <li class=\"ieeesa-body-md-16\" *ngFor=\"let feature of basicInfo.features\">\r\n {{ feature?.featureName }}\r\n </li>\r\n </ul>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.domainURL\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo.appDomainUrl }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.type }}</span>\r\n <p class=\"ieeesa-body-md-16\">{{ selectedAppTypeLabel }}</p>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-tenant-basic-info .ieeesa-body-color-sm-14{color:#63666a!important}.ieeesa-tenant-basic-info__bgColor{width:1.85em;height:1.85em;border:1px solid #fffbfe}.ieeesa-tenant-basic-info .ieeesa-body-md-16,.ieeesa-tenant-basic-info .ieeesa-title-sm-16{color:#1c1b1f!important}\n"] }]
2158
- }], ctorParameters: function () { return [{ type: TenantApplicationsService }, { type: i2.BreakpointObserverService }, { type: i1.FileUploadService }, { type: i2$1.SharedService }]; }, propDecorators: { tenantDetails: [{
2159
- type: Input
2160
- }] } });
2161
-
2162
- class CreateModifyRoleComponent {
2163
- constructor(
2164
- // eslint-disable-next-line no-unused-vars
2165
- tenantAppService,
2166
- // eslint-disable-next-line no-unused-vars
2167
- sharedService,
2168
- // eslint-disable-next-line no-unused-vars
2169
- globalErrorHandlerService // eslint-disable-next-line no-empty-function
2170
- ) {
2171
- this.tenantAppService = tenantAppService;
2172
- this.sharedService = sharedService;
2173
- this.globalErrorHandlerService = globalErrorHandlerService;
2174
- this.destroy$ = new Subject();
2175
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2176
- this.constants = screenText;
2177
- this.createRoleTexts = this.constants?.createRole;
2178
- this.leftButtonLabel = this.createRoleTexts?.label?.leftButtonLabel;
2179
- this.rightButtonLabel = this.createRoleTexts?.label?.rightButtonLabel;
2180
- this.colWidth = { xs: 12, xl: 12, sm: 12, md: 12, lg: 12 };
2181
- this.actionButtonAlign = AlignType.LEFT;
2182
- this.submitFormResponse = new EventEmitter();
2183
- this.formCancel = new EventEmitter();
2184
- }
2185
- ngOnInit() {
2186
- this.tenantFunctionType = this.tenantAppService?.getTenantFunctionType();
2187
- this.selectedTenantInfo =
2188
- this.tenantAppService?.getSelectedTenantInformation();
2189
- this.roleTypeOptions =
2190
- this.tenantAppService?.getRoleTypeOption();
2191
- this.selectedRoleDetails =
2192
- this.tenantAppService?.getSelectedRoleInformation();
2193
- if (this.selectedRoleDetails) {
2194
- this.selectedRole = this.tenantAppService?.roles?.find(({ roleId }) => roleId === this.selectedRoleDetails?.roleId);
2195
- }
2196
- this.initializeCreateRoleFormGroup();
2197
- }
2198
- /**
2199
- * Constructs and returns the role type form field based on credit or edit role.
2200
- * @return {FieldConfig} -role type form field.
2201
- * @memberof CreateModifyRoleComponent
2202
- */
2203
- getRoleTypeField() {
2204
- let roleTypeField;
2205
- if (this.tenantFunctionType === TenantFunctionType.EDIT_ROLE) {
2206
- roleTypeField = {
2207
- type: FormControlType?.TEXT_AREA,
2208
- label: this.createRoleTexts?.label?.roleType,
2209
- controlName: 'roleType',
2210
- isReadonly: true,
2211
- value: this.selectedRole?.roleTypeName,
2212
- ariaMultiline: false,
2213
- ariaLabel: this.createRoleTexts?.label?.ariaLabel?.roleType,
2214
- ariaDescribedById: this.createRoleTexts?.label?.ariaDescribedById?.roleType,
2215
- isResize: true,
2216
- };
2217
- }
2218
- else {
2219
- roleTypeField = {
2220
- type: FormControlType?.SELECT,
2221
- label: this.createRoleTexts?.label?.roleType + '*',
2222
- controlName: 'roleType',
2223
- isSortNeeded: false,
2224
- value: '',
2225
- validation: [Validators.required],
2226
- dropdownOptions: this.roleTypeOptions,
2227
- supportMessage: this.createRoleTexts?.supportText?.roleType,
2228
- requiredErrorMessage: this.createRoleTexts?.message?.error?.required,
2229
- ariaLabel: this.createRoleTexts?.label?.ariaLabel?.roleType,
2230
- ariaDescribedById: this.createRoleTexts?.label?.ariaDescribedById?.roleType,
2231
- };
2232
- }
2233
- return roleTypeField;
2234
- }
2235
- /**
2236
- * Initialize the create/edit role form group array.
2237
- * @memberof CreateModifyRoleComponent
2238
- */
2239
- initializeCreateRoleFormGroup() {
2240
- this.createRoleFormGroup = {
2241
- formGroup: [
2242
- {
2243
- legend: '',
2244
- controls: [
2245
- {
2246
- type: FormControlType.TEXT_AREA,
2247
- label: this.createRoleTexts?.label?.appTitle,
2248
- controlName: 'appTitle',
2249
- value: this.selectedTenantInfo?.appTitle,
2250
- ariaLabel: this.createRoleTexts?.label?.ariaLabel?.appTitle,
2251
- ariaDescribedById: this.createRoleTexts?.label?.ariaDescribedById?.appTitle,
2252
- isReadonly: true,
2253
- ariaMultiline: false,
2254
- isResize: true,
2255
- },
2256
- this.getRoleTypeField(),
2257
- {
2258
- type: FormControlType.INPUT,
2259
- label: this.createRoleTexts?.label?.roleName + '*',
2260
- controlName: 'roleName',
2261
- value: this.tenantFunctionType === TenantFunctionType.EDIT_ROLE
2262
- ? this.selectedRole?.roleName
2263
- : '',
2264
- validation: [
2265
- Validators.required,
2266
- Validators.maxLength(RolesValidation.roleNameMaxLength),
2267
- ],
2268
- supportMessage: this.createRoleTexts?.supportText?.roleName,
2269
- requiredErrorMessage: this.createRoleTexts?.message?.error?.required,
2270
- maxErrorMessage: this.createRoleTexts?.message?.error?.limit?.roleNameMaxChars,
2271
- ariaLabel: this.createRoleTexts?.label?.ariaLabel?.roleName,
2272
- ariaDescribedById: this.createRoleTexts?.label?.ariaDescribedById?.roleName,
2273
- },
2274
- ],
2275
- },
2276
- ],
2277
- };
2278
- }
2279
- /**
2280
- * Gets create/edit role form group reference.
2281
- * @param {FormGroup[]} form
2282
- * @memberof CreateModifyRoleComponent
2283
- */
2284
- getCreateModifyRoleFormGroupRef(form) {
2285
- this.createModifyRoleFormGroupRef = form[0];
2286
- }
2287
- /**
2288
- * Updates createModifyRoleFormGroupRef on add role form change event.
2289
- * @param {FormGroup[]} form
2290
- * @memberof CreateModifyRoleComponent
2291
- */
2292
- onCreateModifyRoleFormChange(form) {
2293
- this.createModifyRoleFormGroupRef = form[0];
2294
- }
2295
- /**
2296
- * Creates a new role on form submission and the form is valid.
2297
- * @param {FormGroup[]} form
2298
- * @memberof CreateModifyRoleComponent
2299
- */
2300
- onCreateModifyRoleFormSubmit(form) {
2301
- form[0]?.markAllAsTouched();
2302
- if (form[0].status === FormStatus$1.VALID) {
2303
- this.createModifyRolePayload = this.getCreateModifyRolePayload(form[0].getRawValue());
2304
- // eslint-disable-next-line no-unused-expressions
2305
- this.tenantFunctionType === TenantFunctionType.EDIT_ROLE
2306
- ? this.editRole()
2307
- : this.createRole();
2308
- }
2309
- }
2310
- /**
2311
- * Constructs create/edit role payload from the form data and returns.
2312
- * @param {*} formData
2313
- * @return {CreateModifyRoleRequestPayload}
2314
- * @memberof CreateModifyRoleComponent
2315
- */
2316
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2317
- getCreateModifyRolePayload(formData) {
2318
- const payload = {
2319
- payload: {
2320
- appId: this.selectedTenantInfo?.appId,
2321
- roleName: formData?.roleName,
2322
- },
2323
- };
2324
- if (this.tenantFunctionType === TenantFunctionType.EDIT_ROLE) {
2325
- payload.payload.roleId = this.selectedRole?.roleId;
2326
- }
2327
- else {
2328
- payload.payload.roleType = formData?.roleType?.id;
2329
- }
2330
- return payload;
2331
- }
2332
- /**
2333
- * Post the creates new role form data to the server on form submission to create a new role.
2334
- * @param {CreateRoleRequestPayload} createModifyRolePayload
2335
- * @memberof CreateModifyRoleComponent
2336
- */
2337
- createRole() {
2338
- this.tenantAppService
2339
- .createRole(this.createModifyRolePayload)
2340
- .pipe(takeUntil(this.destroy$))
2341
- .subscribe({
2342
- next: (response) => {
2343
- if (response.status) {
2344
- this.tenantAppService.setNewlyCreatedRoleInfo(this.createModifyRolePayload?.payload);
2345
- this.submitFormResponse.emit(response);
2346
- }
2347
- },
2348
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2349
- error: (error) => {
2350
- this.handleErrors(error);
2351
- },
2352
- });
2353
- }
2354
- /**
2355
- * Post the edited role form data to server on form submission to update the selected role information.
2356
- * @param {CreateModifyRoleRequestPayload} createModifyRolePayload
2357
- * @memberof CreateModifyRoleComponent
2358
- */
2359
- editRole() {
2360
- this.tenantAppService
2361
- .editRole(this.createModifyRolePayload)
2362
- .pipe(takeUntil(this.destroy$))
2363
- .subscribe({
2364
- next: (response) => {
2365
- if (response.status) {
2366
- this.tenantAppService.setNewlyCreatedRoleInfo(this.createModifyRolePayload?.payload);
2367
- this.submitFormResponse.emit(response);
2368
- }
2369
- },
2370
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2371
- error: (error) => {
2372
- this.handleErrors(error);
2373
- },
2374
- });
2375
- }
2376
- /**
2377
- * Captures the server side errors and handles it based on the custom or Http errors.
2378
- * @param {HttpErrorResponse} error
2379
- * @return -returns nothing
2380
- * @memberof CreateModifyRoleComponent
2381
- */
2382
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2383
- handleErrors(error) {
2384
- const errorCodes = error?.error?.body?.errorCodes;
2385
- if (Array.isArray(errorCodes) && !error?.error?.status) {
2386
- if (errorCodes[0] === '3012') {
2387
- const roleName = this.createModifyRolePayload?.payload?.roleName;
2388
- const errorMessage = this.sharedService?.parseErrorMessage(errorCodes, this.createRoleTexts?.errors);
2389
- this.sharedService.showAlertMessage(AlertType.ERROR, `${roleName} ${errorMessage}`);
2390
- }
2391
- }
2392
- else if (error && error instanceof HttpErrorResponse) {
2393
- this.globalErrorHandlerService?.handleError(error);
2394
- }
2395
- }
2396
- /**
2397
- * Emits form cancel event.
2398
- * @memberof CreateModifyRoleComponent
2399
- */
2400
- onFormCancel() {
2401
- this.formCancel.emit();
2402
- }
2403
- /**
2404
- * Implementation of ngOnDestroy lifecycle hook method to unsubscribe the open observable subscriptions.
2405
- * @memberof CreateModifyRoleComponent
2406
- */
2407
- ngOnDestroy() {
2408
- this.destroy$.next(true);
2409
- this.destroy$.unsubscribe();
2410
- }
2411
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateModifyRoleComponent, deps: [{ token: TenantApplicationsService }, { token: i2$1.SharedService }, { token: i2.GlobalErrorHandlerService }], target: i0.ɵɵFactoryTarget.Component }); }
2412
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateModifyRoleComponent, isStandalone: true, selector: "ieeesa-create-modify-role", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createRoleFormGroup\"\r\n class=\"ieeesa-create-role-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createRoleFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateModifyRoleFormSubmit($event)\"\r\n (formChange)=\"onCreateModifyRoleFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateModifyRoleFormGroupRef($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-modal-dialog.ieeesa-create-modify-role{width:40vw!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-modify-role .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .mat-mdc-dialog-content{padding:.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{display:none!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field__label-top{min-height:6.25em!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field{width:70%}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{display:none!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]),.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]){padding-top:0;margin-bottom:0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-input-field .mat-mdc-form-field-subscript-wrapper{display:none!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form__form-field{width:100%}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form .ieeesa-select-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form .ieeesa-input-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form .mat-mdc-form-field-flex{width:100%!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected", "ctaButtonClick", "formMultiSelectAutoCompleteSearch", "formMultiSelectAutoCompleteClearSearchValue", "multiSelectAutoCompleteOptionsSelected", "formRichTextEditorContentChange"], exportAs: ["dynamicForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
2413
- }
2414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateModifyRoleComponent, decorators: [{
2415
- type: Component,
2416
- args: [{ selector: 'ieeesa-create-modify-role', standalone: true, imports: [CommonModule, DynamicFormComponent], encapsulation: ViewEncapsulation.None, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createRoleFormGroup\"\r\n class=\"ieeesa-create-role-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createRoleFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateModifyRoleFormSubmit($event)\"\r\n (formChange)=\"onCreateModifyRoleFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateModifyRoleFormGroupRef($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-modal-dialog.ieeesa-create-modify-role{width:40vw!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-modify-role .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .mat-mdc-dialog-content{padding:.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{display:none!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field__label-top{min-height:6.25em!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field{width:70%}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-select-field .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-subscript-wrapper{display:none!important}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]),.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]){padding-top:0;margin-bottom:0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .app-title.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-modal .ieeesa-dynamic-form .role-type.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-input-field .mat-mdc-form-field-subscript-wrapper{display:none!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form__form-field{width:100%}.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form .ieeesa-select-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form .ieeesa-input-field,.ieeesa-modal-dialog.ieeesa-create-modify-role .ieeesa-dynamic-form .mat-mdc-form-field-flex{width:100%!important}}\n"] }]
2417
- }], ctorParameters: function () { return [{ type: TenantApplicationsService }, { type: i2$1.SharedService }, { type: i2.GlobalErrorHandlerService }]; }, propDecorators: { dynamicFormComponent: [{
2418
- type: ViewChild,
2419
- args: [DynamicFormComponent]
2420
- }], submitFormResponse: [{
2421
- type: Output
2422
- }], formCancel: [{
2423
- type: Output
2424
- }] } });
2425
-
2426
- /* eslint-disable no-unused-vars */
2427
- var RoleMenuAction;
2428
- (function (RoleMenuAction) {
2429
- RoleMenuAction[RoleMenuAction["EDIT_ROLE"] = 1] = "EDIT_ROLE";
2430
- RoleMenuAction[RoleMenuAction["DELETE_ROLE"] = 2] = "DELETE_ROLE";
2431
- })(RoleMenuAction || (RoleMenuAction = {}));
2432
-
2433
- /* eslint-disable no-unused-vars */
2434
- var RoleAndPermissionsTableType;
2435
- (function (RoleAndPermissionsTableType) {
2436
- RoleAndPermissionsTableType["ROLE"] = "ROLE";
2437
- RoleAndPermissionsTableType["PERMISSION"] = "PERMISSION";
2438
- })(RoleAndPermissionsTableType || (RoleAndPermissionsTableType = {}));
2439
-
2440
- class RolesAndPermissionsMappingComponent {
2441
- constructor(
2442
- // eslint-disable-next-line no-unused-vars, no-empty-function, @typescript-eslint/no-unused-vars
2443
- tenantAppService,
2444
- // eslint-disable-next-line no-unused-vars
2445
- sharedService,
2446
- // eslint-disable-next-line no-unused-vars
2447
- elementRef,
2448
- // eslint-disable-next-line no-unused-vars
2449
- formUtilityService // eslint-disable-next-line no-empty-function
2450
- ) {
2451
- this.tenantAppService = tenantAppService;
2452
- this.sharedService = sharedService;
2453
- this.elementRef = elementRef;
2454
- this.formUtilityService = formUtilityService;
2455
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2456
- this.constants = screenText;
2457
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2458
- this.mapRolesAndPermissionsScreenTexts = this.constants?.mapRolesAndPermissions;
2459
- this.colWidth = { xs: 12, xl: 6, sm: 12, md: 12, lg: 6 };
2460
- this.actionButtonAlign = AlignType.MIDDLE;
2461
- this.leftButtonLabel = this.mapRolesAndPermissionsScreenTexts?.label?.leftButtonLabel;
2462
- this.rightButtonLabel = this.mapRolesAndPermissionsScreenTexts?.label?.rightButtonLabel;
2463
- this.roles = [];
2464
- this.permissions = [];
2465
- this.destroy$ = new Subject();
2466
- this.tableColumnSchema = [];
2467
- this.tableData = [];
2468
- this.modifiedRolesAndPermissionsMapping = [];
2469
- this.tableHeading = '';
2470
- this.rolePermissionMappingPayload = {
2471
- payload: {
2472
- appId: '',
2473
- permissionId: null,
2474
- roleId: null,
2475
- },
2476
- };
2477
- this.formCancel = new EventEmitter();
2478
- }
2479
- /**
2480
- * Initializes form group and all the page defaults.
2481
- * @memberof MapPermissionsRolesComponent
2482
- * @returns {void}
2483
- */
2484
- ngOnInit() {
2485
- this.appId = this.tenantAppService.getSelectedTenantInformation()
2486
- ?.appId;
2487
- this.formGroup = {
2488
- formGroup: [
2489
- {
2490
- legend: this.mapRolesAndPermissionsScreenTexts?.legend,
2491
- controls: [
2492
- {
2493
- controlName: 'role',
2494
- label: this.mapRolesAndPermissionsScreenTexts?.label?.role,
2495
- type: FormControlType.SELECT,
2496
- dropdownOptions: this.roles,
2497
- supportMessage: this.mapRolesAndPermissionsScreenTexts?.supportText?.role,
2498
- ariaLabel: this.mapRolesAndPermissionsScreenTexts?.label?.ariaLabel?.role,
2499
- ariaDescribedById: this.mapRolesAndPermissionsScreenTexts?.label?.ariaDescribedById
2500
- ?.role,
2501
- },
2502
- {
2503
- controlName: 'permission',
2504
- label: this.mapRolesAndPermissionsScreenTexts?.label?.permission,
2505
- type: FormControlType.SELECT,
2506
- dropdownOptions: this.permissions,
2507
- supportMessage: this.mapRolesAndPermissionsScreenTexts?.supportText?.permission,
2508
- ariaLabel: this.mapRolesAndPermissionsScreenTexts?.label?.ariaLabel
2509
- ?.permission,
2510
- ariaDescribedById: this.mapRolesAndPermissionsScreenTexts?.label?.ariaDescribedById
2511
- ?.permission,
2512
- },
2513
- ],
2514
- },
2515
- ],
2516
- };
2517
- this.getRoles();
2518
- this.getPermissions();
2519
- this.sharedService.isAlertClosed
2520
- .pipe(takeUntil(this.destroy$))
2521
- .subscribe(() => {
2522
- const alertModals = document.querySelectorAll('.cdk-overlay-container ieeesa-alert');
2523
- if (alertModals.length) {
2524
- document.querySelector('.cdk-overlay-container .mat-mdc-dialog-content .ieeesa-alert-box__close-button')?.focus();
2525
- }
2526
- else {
2527
- this.elementRef.nativeElement.querySelector('.cdk-overlay-container .mat-mdc-dialog-content .ieeesa-select-field mat-select')?.focus();
2528
- }
2529
- });
2530
- }
2531
- /**
2532
- * Constructs the role or permission table schema to display the associated mapping in a table view.
2533
- * @param {FormGroup[]} formGroups
2534
- * @memberof MapPermissionsRolesComponent
2535
- * @returns {void}
2536
- */
2537
- onRoleOrPermissionSelected(formGroups) {
2538
- this.tableColumnSchema = [];
2539
- this.modifiedRolesAndPermissionsMapping = [];
2540
- const formGroup = formGroups[0];
2541
- const role = formGroup.get('role')?.value;
2542
- const permission = formGroup.get('permission')?.value;
2543
- if (role) {
2544
- this.selectedRole = {
2545
- roleId: role.id,
2546
- roleName: role.name,
2547
- };
2548
- this.rolePermissionMappingPayload.payload.roleId = role?.id;
2549
- }
2550
- if (permission) {
2551
- this.selectedPermission = {
2552
- permissionId: permission.id,
2553
- permissionName: permission.name,
2554
- };
2555
- this.rolePermissionMappingPayload.payload.permissionId = permission?.id;
2556
- }
2557
- this.rolePermissionMappingPayload.payload.appId = this.appId;
2558
- if ((role && permission) || role) {
2559
- this.tableHeading = `${this.mapRolesAndPermissionsScreenTexts?.roleTableCaption}<strong>${role?.name}</strong>`;
2560
- this.tableColumnSchema.push({
2561
- id: 1,
2562
- columnDef: 'permission',
2563
- heading: this.mapRolesAndPermissionsScreenTexts.tableColumns.permission,
2564
- columnType: TableColumnType.TEXT,
2565
- cellData: (permissionMapping) => permissionMapping?.roleOrPermissionName,
2566
- });
2567
- }
2568
- else {
2569
- this.tableColumnSchema.push({
2570
- id: 1,
2571
- columnDef: 'role',
2572
- heading: this.mapRolesAndPermissionsScreenTexts.tableColumns.role,
2573
- columnType: TableColumnType.TEXT,
2574
- cellData: (roleMapping) => roleMapping?.roleOrPermissionName,
2575
- });
2576
- }
2577
- if (permission) {
2578
- const permissionHeading = `${this.mapRolesAndPermissionsScreenTexts?.permissionTableCaption}<strong>${permission?.name}</strong>`;
2579
- this.tableHeading = role
2580
- ? this.tableHeading + `</br>` + permissionHeading
2581
- : permissionHeading;
2582
- }
2583
- this.tableColumnSchema.push({
2584
- id: 2,
2585
- columnDef: 'slideToggle',
2586
- heading: this.mapRolesAndPermissionsScreenTexts.tableColumns.status,
2587
- columnType: TableColumnType.SLIDE_TOGGLE,
2588
- cellData: (roleMapping) => {
2589
- return {
2590
- id: Math.floor(Math.random() * 1000) + 1,
2591
- label: '',
2592
- ariaLabel: roleMapping.roleOrPermissionName,
2593
- checked: roleMapping.status,
2594
- };
2595
- },
2596
- });
2597
- this.dynamicFormComponent.isSubmitButtonDisabled = true;
2598
- this.getRolePermissionMapping(this.rolePermissionMappingPayload);
2599
- }
2600
- /**
2601
- * Gets the list of roles and displayed in the role dropdown.
2602
- * @memberof MapPermissionsRolesComponent
2603
- * @returns {void}
2604
- */
2605
- getRoles() {
2606
- this.tenantAppService
2607
- .getRoles(this.appId)
2608
- .pipe(takeUntil(this.destroy$))
2609
- .subscribe({
2610
- next: (response) => {
2611
- if (response?.status) {
2612
- const rolesList = response?.body;
2613
- rolesList.map((role) => {
2614
- this.roles.push({
2615
- id: role.roleId,
2616
- name: role.roleName,
2617
- });
2618
- });
2619
- this.formUtilityService.updateFormControlOptions('role', 'dropdownOptions', this.roles, this.dynamicFormComponent);
2620
- }
2621
- },
2622
- error: (error) => {
2623
- this.sharedService.handleErrors(error, this.mapRolesAndPermissionsScreenTexts.errors);
2624
- },
2625
- });
2626
- }
2627
- /**
2628
- * Gets the list of permissions and displayed in the permission dropdown.
2629
- * @memberof MapPermissionsRolesComponent
2630
- * @returns {void}
2631
- */
2632
- getPermissions() {
2633
- this.tenantAppService
2634
- .getPermissions(this.appId)
2635
- .pipe(takeUntil(this.destroy$))
2636
- .subscribe({
2637
- next: (response) => {
2638
- if (response?.status) {
2639
- const permissionsList = response?.body;
2640
- permissionsList.map((permission) => {
2641
- this.permissions.push({
2642
- id: permission.permissionId,
2643
- name: permission.permissionName,
2644
- });
2645
- });
2646
- this.formUtilityService.updateFormControlOptions('permission', 'dropdownOptions', this.permissions, this.dynamicFormComponent);
2647
- }
2648
- },
2649
- error: (error) => {
2650
- this.sharedService.handleErrors(error, this.mapRolesAndPermissionsScreenTexts.errors);
2651
- },
2652
- });
2653
- }
2654
- /**
2655
- * Gets the list of mapped roles/permissions from the backend api.
2656
- * @param {RolePermissionMappingRequestPayload} payload
2657
- * @memberof MapPermissionsRolesComponent
2658
- * @returns {void}
2659
- */
2660
- getRolePermissionMapping(payload) {
2661
- this.tableData = [];
2662
- this.tenantAppService
2663
- .getRolePermissionMapping(payload)
2664
- .pipe(takeUntil(this.destroy$))
2665
- .subscribe({
2666
- next: (response) => {
2667
- const payloadInfo = payload.payload;
2668
- if (payloadInfo?.roleId && payloadInfo?.permissionId) {
2669
- this.tableData.push({
2670
- roleOrPermissionName: this.selectedPermission?.permissionName,
2671
- roleOrPermissionId: this.selectedPermission?.permissionId,
2672
- status: true,
2673
- });
2674
- }
2675
- else if (payloadInfo?.roleId) {
2676
- this.setTableData(this.permissions, response.body, RoleAndPermissionsTableType.PERMISSION);
2677
- }
2678
- else {
2679
- this.setTableData(this.roles, response.body, RoleAndPermissionsTableType.ROLE);
2680
- }
2681
- },
2682
- error: (error) => {
2683
- const errorCodes = error?.error?.body?.errorCodes;
2684
- // Returns error code 3020 when mapped roles does not exist for given permission id.
2685
- if (errorCodes.includes('3020')) {
2686
- this.setTableData(this.roles, [], RoleAndPermissionsTableType.ROLE);
2687
- }
2688
- // Returns error code 3021 when mapped permissions does not exist for given role id.
2689
- else if (errorCodes.includes('3021')) {
2690
- this.setTableData(this.permissions, [], RoleAndPermissionsTableType.PERMISSION);
2691
- }
2692
- // Returns error code 3017 when role permission mapping does not exist for given role id.
2693
- else if (errorCodes.includes('3017')) {
2694
- this.tableData.push({
2695
- roleOrPermissionName: this.selectedPermission?.permissionName,
2696
- roleOrPermissionId: this.selectedPermission?.permissionId,
2697
- status: false,
2698
- });
2699
- }
2700
- else
2701
- this.sharedService.handleErrors(error, this.mapRolesAndPermissionsScreenTexts.errors);
2702
- },
2703
- });
2704
- }
2705
- /**
2706
- * Displaying the mapped roles and permissions data into the data table.
2707
- * @param {SelectOption[]} roleOrPermissions
2708
- * @param {RoleDetails[] | Permission[]} mappedRoleOrPermissions
2709
- * @param {RoleAndPermissionsTableType} tableType
2710
- * @memberof MapPermissionsRolesComponent
2711
- * @returns {void}
2712
- */
2713
- setTableData(roleOrPermissions, mappedRoleOrPermissions, tableType) {
2714
- roleOrPermissions.map((roleOrPermission) => {
2715
- this.tableData.push({
2716
- roleOrPermissionName: roleOrPermission.name,
2717
- roleOrPermissionId: roleOrPermission.id,
2718
- status: tableType === RoleAndPermissionsTableType.ROLE
2719
- ? mappedRoleOrPermissions.length > 0 &&
2720
- mappedRoleOrPermissions.some((mappedRoleOrPermission) => mappedRoleOrPermission.roleId === roleOrPermission.id)
2721
- : mappedRoleOrPermissions.length > 0 &&
2722
- mappedRoleOrPermissions.some((mappedRoleOrPermission) => mappedRoleOrPermission.permissionId === roleOrPermission.id),
2723
- });
2724
- });
2725
- }
2726
- /**
2727
- * Constructs the payload based on the roles and permissions mapping (selection or deselection).
2728
- * @param roleOrPermissionStatus
2729
- * @memberof MapPermissionsRolesComponent
2730
- * @returns {void}
2731
- */
2732
- roleOrPermissionStatusChange(roleOrPermissionStatus) {
2733
- if ((this.selectedRole?.roleId && this.selectedPermission?.permissionId) ||
2734
- this.selectedRole?.roleId) {
2735
- if (this.modifiedRolesAndPermissionsMapping.find((permission) => permission.permissionId ===
2736
- roleOrPermissionStatus.rowData.roleOrPermissionId)) {
2737
- this.modifiedRolesAndPermissionsMapping.splice(this.modifiedRolesAndPermissionsMapping.findIndex((permission) => permission.permissionId ===
2738
- roleOrPermissionStatus.rowData.roleOrPermissionId), 1);
2739
- }
2740
- else {
2741
- this.modifiedRolesAndPermissionsMapping.push({
2742
- roleId: this.selectedRole.roleId,
2743
- permissionId: roleOrPermissionStatus.rowData.roleOrPermissionId,
2744
- appId: this.appId,
2745
- status: roleOrPermissionStatus.slideToggle.checked,
2746
- });
2747
- }
2748
- }
2749
- else if (this.selectedPermission?.permissionId) {
2750
- if (this.modifiedRolesAndPermissionsMapping.find((role) => role.roleId === roleOrPermissionStatus.rowData.roleOrPermissionId)) {
2751
- this.modifiedRolesAndPermissionsMapping.splice(this.modifiedRolesAndPermissionsMapping.findIndex((role) => role.roleId === roleOrPermissionStatus.rowData.roleOrPermissionId), 1);
2752
- }
2753
- else {
2754
- this.modifiedRolesAndPermissionsMapping.push({
2755
- roleId: roleOrPermissionStatus.rowData.roleOrPermissionId,
2756
- permissionId: this.selectedPermission.permissionId,
2757
- appId: this.appId,
2758
- status: roleOrPermissionStatus.slideToggle.checked,
2759
- });
2760
- }
2761
- }
2762
- this.dynamicFormComponent.isSubmitButtonDisabled =
2763
- !this.modifiedRolesAndPermissionsMapping.length;
2764
- }
2765
- /**
2766
- * Submits the roles and permissions mappings to the server.
2767
- * @memberof MapPermissionsRolesComponent
2768
- * @returns {void}
2769
- */
2770
- onMapAndPermissionsFormSubmit() {
2771
- const payload = {
2772
- payload: this.modifiedRolesAndPermissionsMapping,
2773
- };
2774
- this.dynamicFormComponent.isSubmitButtonDisabled = true;
2775
- this.modifiedRolesAndPermissionsMapping = [];
2776
- this.tenantAppService
2777
- .saveRolePermissionMapping(payload)
2778
- .pipe(takeUntil(this.destroy$))
2779
- .subscribe({
2780
- next: (response) => {
2781
- if (response?.status) {
2782
- this.sharedService.showAlertMessage(AlertType.SUCCESS, this.mapRolesAndPermissionsScreenTexts.message.success
2783
- .rolesAndPermissionsSubmission);
2784
- }
2785
- },
2786
- error: (error) => {
2787
- this.sharedService.handleErrors(error, this.mapRolesAndPermissionsScreenTexts.errors);
2788
- },
2789
- });
2790
- }
2791
- /**
2792
- * Closes the map and permissions modal.
2793
- * @memberof MapPermissionsRolesComponent
2794
- * @returns {void}
2795
- */
2796
- onMapAndPermissionsFormCancel() {
2797
- this.formCancel.emit();
2798
- }
2799
- /**
2800
- * Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
2801
- * @memberof ViewTenantDetailsComponent
2802
- */
2803
- ngOnDestroy() {
2804
- this.destroy$?.next(true);
2805
- this.destroy$?.unsubscribe();
2806
- }
2807
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RolesAndPermissionsMappingComponent, deps: [{ token: TenantApplicationsService }, { token: i2$1.SharedService }, { token: i0.ElementRef }, { token: i2$1.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
2808
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RolesAndPermissionsMappingComponent, isStandalone: true, selector: "ieeesa-roles-and-permissions-mapping", outputs: { formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n [formGroups]=\"formGroup\"\r\n [colWidth]=\"colWidth\"\r\n [isSubmitButtonDisabled]=\"true\"\r\n [isLegendVisible]=\"true\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLeftButtonNeeded]=\"true\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n (dropdownChange)=\"onRoleOrPermissionSelected($event)\"\r\n (formSubmit)=\"onMapAndPermissionsFormSubmit()\"\r\n (formLeftButtonClicked)=\"onMapAndPermissionsFormCancel()\"\r\n>\r\n <ieeesa-data-table\r\n component\r\n *ngIf=\"tableData.length\"\r\n [columnSchemaInfo]=\"tableColumnSchema\"\r\n [tableColumnsHeaderText]=\"tableHeading\"\r\n [tableDataInfo]=\"tableData\"\r\n (rowSlideToggle)=\"roleOrPermissionStatusChange($event)\"\r\n ></ieeesa-data-table>\r\n</ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-map-permissions-and-roles{max-width:50vw!important}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-container{box-shadow:none}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-surface{border-radius:0}.ieeesa-map-permissions-and-roles .ieeesa-modal{box-shadow:0 3px #00b5e2 inset,0 4px 24px #00000080}.ieeesa-map-permissions-and-roles .ieeesa-modal-title__heading{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .row{margin:0;padding:0 12px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__legend{text-align:center;margin-bottom:0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:4px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:24px;padding-top:48px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:33vw;padding-top:48px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__columns-header-text{font-size:16px;padding:0}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-colum-role,.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-column-permission{padding:16px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__content{padding-top:12px}@media (max-width: 767px){.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:auto}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:24px!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected", "ctaButtonClick", "formMultiSelectAutoCompleteSearch", "formMultiSelectAutoCompleteClearSearchValue", "multiSelectAutoCompleteOptionsSelected", "formRichTextEditorContentChange"], exportAs: ["dynamicForm"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "hasNestedTable", "tableColumnActions", "tableColumnActionMenuSize", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "tableColumnsHeaderText", "verticalColumnHeaderNumber", "scrollbarSupportMessage", "isScrollSupportMessageNeeded", "isStickyHeaderNeeded", "customStickyHeaderNeeded", "headerElementClassName", "searchResultMessage", "rowMenuActionIcon", "canDisableCheckbox", "isEllipsisRequiredForLink"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick", "tableColumnMenuActionClick", "tableColumnMenuToggleButton", "rowSlideToggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
2809
- }
2810
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RolesAndPermissionsMappingComponent, decorators: [{
2811
- type: Component,
2812
- args: [{ selector: 'ieeesa-roles-and-permissions-mapping', standalone: true, imports: [CommonModule, DynamicFormComponent, DataTableComponent], encapsulation: ViewEncapsulation.None, template: "<ieeesa-dynamic-form\r\n [formGroups]=\"formGroup\"\r\n [colWidth]=\"colWidth\"\r\n [isSubmitButtonDisabled]=\"true\"\r\n [isLegendVisible]=\"true\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLeftButtonNeeded]=\"true\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n (dropdownChange)=\"onRoleOrPermissionSelected($event)\"\r\n (formSubmit)=\"onMapAndPermissionsFormSubmit()\"\r\n (formLeftButtonClicked)=\"onMapAndPermissionsFormCancel()\"\r\n>\r\n <ieeesa-data-table\r\n component\r\n *ngIf=\"tableData.length\"\r\n [columnSchemaInfo]=\"tableColumnSchema\"\r\n [tableColumnsHeaderText]=\"tableHeading\"\r\n [tableDataInfo]=\"tableData\"\r\n (rowSlideToggle)=\"roleOrPermissionStatusChange($event)\"\r\n ></ieeesa-data-table>\r\n</ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-map-permissions-and-roles{max-width:50vw!important}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-container{box-shadow:none}.ieeesa-map-permissions-and-roles .mat-mdc-dialog-surface{border-radius:0}.ieeesa-map-permissions-and-roles .ieeesa-modal{box-shadow:0 3px #00b5e2 inset,0 4px 24px #00000080}.ieeesa-map-permissions-and-roles .ieeesa-modal-title__heading{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .row{margin:0;padding:0 12px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__legend{text-align:center;margin-bottom:0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:4px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:24px;padding-top:48px!important}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:33vw;padding-top:48px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__columns-header-text{font-size:16px;padding:0}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-colum-role,.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table .mat-column-permission{padding:16px}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table__content{padding-top:12px}@media (max-width: 767px){.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form .ieeesa-data-table{width:auto}.ieeesa-map-permissions-and-roles .ieeesa-dynamic-form__form-field{padding-top:24px!important}}\n"] }]
2813
- }], ctorParameters: function () { return [{ type: TenantApplicationsService }, { type: i2$1.SharedService }, { type: i0.ElementRef }, { type: i2$1.FormUtilityService }]; }, propDecorators: { formCancel: [{
2814
- type: Output
2815
- }], dynamicFormComponent: [{
2816
- type: ViewChild,
2817
- args: [DynamicFormComponent]
2818
- }] } });
2819
-
2820
- /* eslint-disable no-unused-vars */
2821
- var GroupTypeSettings;
2822
- (function (GroupTypeSettings) {
2823
- GroupTypeSettings["ALLOW_SUB_GROUP"] = "allowSubGroup";
2824
- GroupTypeSettings["ALLOW_ROSTER"] = "allowRoster";
2825
- GroupTypeSettings["ALLOW_ALTERNATE_VOTING"] = "allowAlternateVoting";
2826
- GroupTypeSettings["HAS_CLASSIFICATION"] = "hasClassification";
2827
- GroupTypeSettings["ALLOW_EDIT"] = "allowEdit";
2828
- GroupTypeSettings["ALLOW_DELETE"] = "allowDelete";
2829
- })(GroupTypeSettings || (GroupTypeSettings = {}));
2830
-
2831
- /**
2832
- * Component for viewing and managing tenant group types. Fetches the configured group types associated to the selected tenant and displays in tabular view.
2833
- * @export
2834
- * @class ViewTenantGroupTypesComponent
2835
- * @implements {OnInit}
2836
- */
2837
- class ViewTenantGroupTypesComponent {
2838
- constructor(
2839
- // eslint-disable-next-line no-unused-vars
2840
- tenantAppService,
2841
- // eslint-disable-next-line no-unused-vars
2842
- sharedService // eslint-disable-next-line no-empty-function
2843
- ) {
2844
- this.tenantAppService = tenantAppService;
2845
- this.sharedService = sharedService;
2846
- this.destroy$ = new Subject();
2847
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2848
- this.constants = screenText;
2849
- this.columnHeading = this.constants?.viewGroupTypes?.tableColumns?.heading;
2850
- this.settings = this.constants?.viewGroupTypes?.settings;
2851
- this.tableRowActions = this.constants?.viewGroupTypes?.actionMenuItems;
2852
- this.columnSchema = [];
2853
- this.groupTypes = [];
2854
- this.appId = '';
2855
- this.headerElementClassName = '.ieeesa-header';
2856
- }
2857
- /**
2858
- * Fetches group types data from the server and initializes column schema.
2859
- * @memberof ViewTenantGroupTypesComponent
2860
- */
2861
- ngOnInit() {
2862
- this.appId = this.tenantAppService.getSelectedTenantInformation()
2863
- ?.appId;
2864
- this.getGroupTypes();
2865
- this.tenantAppService.isGroupTypeAddedOrModified
2866
- .pipe(takeUntil(this.destroy$))
2867
- .subscribe((value) => {
2868
- if (value) {
2869
- this.getGroupTypes();
2870
- this.tenantAppService.isGroupTypeAddedOrModified.next(false);
2871
- }
2872
- });
2873
- }
2874
- /**
2875
- * Get group types from tenant application service.
2876
- * @memberof ViewTenantGroupTypesComponent
2877
- */
2878
- getGroupTypes() {
2879
- this.tenantAppService
2880
- .getGroupTypes(this.appId)
2881
- .pipe(takeUntil(this.destroy$))
2882
- .subscribe({
2883
- next: (response) => {
2884
- this.initializeColumnSchema();
2885
- this.groupTypes = this.formatGroupTypesTableData(response);
2886
- this.tenantAppService.setGroupTypeDetails(response);
2887
- },
2888
- error: (error) => {
2889
- this.sharedService.handleErrors(error, this.constants?.viewGroupTypes?.errors);
2890
- },
2891
- });
2892
- }
2893
- /**
2894
- * Formats raw group types data into a required format for display.
2895
- * @param {ViewGroupTypeResponse} groupTypeRes
2896
- * @return {GroupTypeDetails[]}
2897
- * @memberof ViewTenantGroupTypesComponent
2898
- */
2899
- formatGroupTypesTableData(groupTypeRes) {
2900
- const formattedData = [];
2901
- groupTypeRes?.body?.forEach((item) => {
2902
- if (item?.configFieldValue?.businessRule?.rosterType !==
2903
- GroupRosterType?.SYSTEM_USER) {
2904
- const { configFieldValue, roles, hasGroup } = item;
2905
- const { name, description, businessRule } = configFieldValue;
2906
- const { rosterType, ...restBusinessRule } = businessRule;
2907
- const businessRuleString = this.transformBusinessRule(restBusinessRule);
2908
- const roleNames = roles
2909
- ? roles?.map((role) => role?.roleName).join(', ')
2910
- : '';
2911
- const menuAction = JSON.parse(JSON.stringify(this.tableRowActions));
2912
- menuAction[1].isDisabled = hasGroup;
2913
- formattedData.push({
2914
- name,
2915
- description,
2916
- rosterType,
2917
- businessRule: businessRuleString,
2918
- roles: roleNames,
2919
- hasGroup: item.hasGroup,
2920
- menuAction,
2921
- });
2922
- }
2923
- });
2924
- return formattedData;
2925
- }
2926
- /**
2927
- * Transforms business rule to required format in string.
2928
- * @param {*} rule
2929
- * @return {string}
2930
- * @memberof ViewTenantGroupTypesComponent
2931
- */
2932
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2933
- transformBusinessRule(rule) {
2934
- const ruleStringArray = [];
2935
- for (const setting of Object.values(GroupTypeSettings)) {
2936
- if (rule[setting] === true) {
2937
- ruleStringArray.push(this.settings[setting]);
2938
- }
2939
- }
2940
- return ruleStringArray.join(', ');
2941
- }
2942
- /**
2943
- * Initializes table column schema to display group types in tabular view.
2944
- * @memberof ViewTenantGroupTypesComponent
2945
- */
2946
- initializeColumnSchema() {
2947
- this.columnSchema = [
2948
- {
2949
- id: 1,
2950
- columnDef: 'groupType',
2951
- heading: this.columnHeading?.groupType,
2952
- columnType: TableColumnType.TEXT,
2953
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2954
- cellData: (element) => `${element.name}`,
2955
- },
2956
- {
2957
- id: 2,
2958
- columnDef: 'rosterType',
2959
- heading: this.columnHeading?.rosterType,
2960
- columnType: TableColumnType.TEXT,
2961
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2962
- cellData: (element) => `${element.rosterType}`,
2963
- },
2964
- {
2965
- id: 3,
2966
- columnDef: 'description',
2967
- heading: this.columnHeading?.description,
2968
- columnType: TableColumnType.TEXT,
2969
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2970
- cellData: (element) => `${element.description}`,
2971
- },
2972
- {
2973
- id: 4,
2974
- columnDef: 'applicableRoles',
2975
- heading: this.columnHeading?.applicableRoles,
2976
- columnType: TableColumnType.TEXT,
2977
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2978
- cellData: (element) => `${element.roles}`,
2979
- },
2980
- {
2981
- id: 5,
2982
- columnDef: 'settings',
2983
- heading: this.columnHeading?.settings,
2984
- columnType: TableColumnType.TEXT,
2985
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2986
- cellData: (element) => `${element.businessRule}`,
2987
- },
2988
- {
2989
- id: 6,
2990
- columnDef: 'action',
2991
- heading: this.columnHeading?.action,
2992
- columnType: TableColumnType.ACTIONS,
2993
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2994
- cellData: (element) => `${element.menuAction}`,
2995
- },
2996
- ];
2997
- }
2998
- /**
2999
- * Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
3000
- * @memberof ViewTenantGroupTypesComponent
3001
- */
3002
- ngOnDestroy() {
3003
- this.destroy$?.next(true);
3004
- this.destroy$?.unsubscribe();
3005
- }
3006
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantGroupTypesComponent, deps: [{ token: TenantApplicationsService }, { token: i2$1.SharedService }], target: i0.ɵɵFactoryTarget.Component }); }
3007
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewTenantGroupTypesComponent, isStandalone: true, selector: "ieeesa-view-tenant-group-types", ngImport: i0, template: "<div class=\"ieeesa-view-tenant-group-types\">\r\n <ieeesa-data-table\r\n *ngIf=\"columnSchema.length\"\r\n [headerElementClassName]=\"headerElementClassName\"\r\n [customStickyHeaderNeeded]=\"true\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableDataInfo]=\"groupTypes\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n ></ieeesa-data-table>\r\n</div>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-view-tenant-group-types .ieeesa-data-table{padding-top:2.5em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content{margin-top:0!important}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .mdc-data-table__header-cell{padding:14px 12px;box-shadow:0 1px #9ba0a6 inset!important}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .mdc-data-table__cell{padding:4px 14px}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-groupType{min-width:10em;max-width:10em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-description{min-width:12em;max-width:12em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-rosterType{min-width:6em;max-width:6em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-applicableRoles,.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-settings{min-width:10em;max-width:10em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .mat-mdc-icon-button{color:#00629b}@media (max-width: 767px){.ieeesa-view-tenant-group-types .ieeesa-data-table{padding-top:1em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "hasNestedTable", "tableColumnActions", "tableColumnActionMenuSize", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "tableColumnsHeaderText", "verticalColumnHeaderNumber", "scrollbarSupportMessage", "isScrollSupportMessageNeeded", "isStickyHeaderNeeded", "customStickyHeaderNeeded", "headerElementClassName", "searchResultMessage", "rowMenuActionIcon", "canDisableCheckbox", "isEllipsisRequiredForLink"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick", "tableColumnMenuActionClick", "tableColumnMenuToggleButton", "rowSlideToggle"] }], encapsulation: i0.ViewEncapsulation.None }); }
3008
- }
3009
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantGroupTypesComponent, decorators: [{
3010
- type: Component,
3011
- args: [{ selector: 'ieeesa-view-tenant-group-types', standalone: true, imports: [CommonModule, DataTableComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-view-tenant-group-types\">\r\n <ieeesa-data-table\r\n *ngIf=\"columnSchema.length\"\r\n [headerElementClassName]=\"headerElementClassName\"\r\n [customStickyHeaderNeeded]=\"true\"\r\n [isCellTextOverflowEllipsis]=\"true\"\r\n [tableDataInfo]=\"groupTypes\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n ></ieeesa-data-table>\r\n</div>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-view-tenant-group-types .ieeesa-data-table{padding-top:2.5em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content{margin-top:0!important}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .mdc-data-table__header-cell{padding:14px 12px;box-shadow:0 1px #9ba0a6 inset!important}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .mdc-data-table__cell{padding:4px 14px}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-groupType{min-width:10em;max-width:10em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-description{min-width:12em;max-width:12em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-rosterType{min-width:6em;max-width:6em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-applicableRoles,.ieeesa-view-tenant-group-types .ieeesa-data-table__content .cdk-column-settings{min-width:10em;max-width:10em}.ieeesa-view-tenant-group-types .ieeesa-data-table__content .mat-mdc-icon-button{color:#00629b}@media (max-width: 767px){.ieeesa-view-tenant-group-types .ieeesa-data-table{padding-top:1em}}\n"] }]
3012
- }], ctorParameters: function () { return [{ type: TenantApplicationsService }, { type: i2$1.SharedService }]; } });
3013
-
3014
- /* eslint-disable no-unused-vars */
3015
- var Settings;
3016
- (function (Settings) {
3017
- Settings["ALLOW_SUB_GROUPS"] = "Allow Sub-Groups";
3018
- Settings["ALLOW_ROSTERS"] = "Rosters Enabled";
3019
- Settings["ALLOW_ALTERNATE_VOTING"] = "Allow Alternate Voting";
3020
- Settings["HAS_CLASSIFICATION"] = "Has Classification";
3021
- Settings["ALLOW_EDIT"] = "Allow Edit";
3022
- Settings["ALLOW_DELETE"] = "Allow Delete";
3023
- })(Settings || (Settings = {}));
3024
- /* eslint-disable no-unused-vars */
3025
- var VotingMemberLevelRole;
3026
- (function (VotingMemberLevelRole) {
3027
- VotingMemberLevelRole["VOTING_MEMBER_PRINCIPAL"] = "Voting Member (Principal)";
3028
- VotingMemberLevelRole["VOTING_MEMBER_ALTERNATE"] = "Voting Member (Alternate)";
3029
- })(VotingMemberLevelRole || (VotingMemberLevelRole = {}));
3030
- var RosterTypeLOVCode;
3031
- (function (RosterTypeLOVCode) {
3032
- RosterTypeLOVCode["INDIVIDUAL"] = "IND";
3033
- RosterTypeLOVCode["ENTITY"] = "EN";
3034
- })(RosterTypeLOVCode || (RosterTypeLOVCode = {}));
3035
-
3036
- /**
3037
- * CreateModifyGroupTypeComponent uses DynamicFormComponent to build create add group type form or edit group type form and implement the functionalities of submission of form and handling success and error scenarios.
3038
- * @class CreateModifyGroupTypeComponent
3039
- * @implements {OnInit}
3040
- * @implements {OnDestroy}
3041
- */
3042
- class CreateModifyGroupTypeComponent {
3043
- constructor(
3044
- // eslint-disable-next-line no-unused-vars
3045
- tenantAppService,
3046
- // eslint-disable-next-line no-unused-vars
3047
- sharedService,
3048
- // eslint-disable-next-line no-unused-vars
3049
- renderer,
3050
- // eslint-disable-next-line no-unused-vars
3051
- elementRef,
3052
- // eslint-disable-next-line no-unused-vars
3053
- formUtilityService // eslint-disable-next-line no-empty-function,
3054
- ) {
3055
- this.tenantAppService = tenantAppService;
3056
- this.sharedService = sharedService;
3057
- this.renderer = renderer;
3058
- this.elementRef = elementRef;
3059
- this.formUtilityService = formUtilityService;
3060
- this.destroy$ = new Subject();
3061
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3062
- this.constants = screenText;
3063
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3064
- this.createGroupTypeScreenTexts = this.constants?.createGroupType;
3065
- this.leftButtonLabel = this.createGroupTypeScreenTexts?.label?.leftButtonLabel;
3066
- this.rightButtonLabel = this.createGroupTypeScreenTexts?.label?.rightButtonLabel;
3067
- this.colWidth = { xs: 12, xl: 12, sm: 12, md: 12, lg: 12 };
3068
- this.actionButtonAlign = AlignType.LEFT;
3069
- this.isRootGroupOptions = [
3070
- {
3071
- id: 1,
3072
- label: this.createGroupTypeScreenTexts?.isRootGroupOptions?.yes,
3073
- checked: false,
3074
- },
3075
- {
3076
- id: 2,
3077
- label: this.createGroupTypeScreenTexts?.isRootGroupOptions?.no,
3078
- checked: true,
3079
- },
3080
- ];
3081
- this.rosterTypeOptions = [];
3082
- this.settingOptions = [];
3083
- this.officerRolesOptions = [];
3084
- this.memberLevelOptions = [];
3085
- this.allowedSubGroupTypesOptions = [];
3086
- /**
3087
- * Event emitter for form submission response.
3088
- * @memberof CreateModifyGroupTypeComponent
3089
- */
3090
- this.submitFormResponse = new EventEmitter();
3091
- /**
3092
- * Event emitter for form cancel action.
3093
- * @memberof CreateModifyGroupTypeComponent
3094
- */
3095
- this.formCancel = new EventEmitter();
3096
- }
3097
- /**
3098
- * Sets appId, tenantFunctionType and calls getGroupTypes() & getRosterTypes() to get group and roster types.
3099
- * @memberof CreateModifyGroupTypeComponent
3100
- */
3101
- ngOnInit() {
3102
- this.appId = this.tenantAppService.getSelectedTenantInformation()
3103
- ?.appId;
3104
- this.tenantFunctionType = this.tenantAppService?.getTenantFunctionType();
3105
- this.selectedGroupTypeInfo =
3106
- this.tenantAppService?.getNewlyCreatedGroupTypeInfo();
3107
- this.getGroupTypes();
3108
- this.getRosterTypes();
3109
- }
3110
- /**
3111
- * Gets the list of roster types and updates the form control.
3112
- * @memberof CreateModifyGroupTypeComponent
3113
- */
3114
- getRosterTypes() {
3115
- this.tenantAppService
3116
- .getRosterType()
3117
- .pipe(takeUntil(this.destroy$))
3118
- .subscribe({
3119
- next: (response) => {
3120
- if (response?.status) {
3121
- this.getSettings();
3122
- const rosterTypeList = response.body;
3123
- rosterTypeList.map((rosterType) => this.rosterTypeOptions.push({
3124
- id: rosterType.lovId,
3125
- label: rosterType.lovDesc,
3126
- checked: rosterType.lovCode === RosterTypeLOVCode.INDIVIDUAL,
3127
- }));
3128
- }
3129
- },
3130
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3131
- error: (error) => {
3132
- this.sharedService.handleErrors(error, this.createGroupTypeScreenTexts.errors);
3133
- },
3134
- });
3135
- }
3136
- /**
3137
- * Gets the list of settings and updates the form control.
3138
- * @memberof CreateModifyGroupTypeComponent
3139
- */
3140
- getSettings() {
3141
- this.tenantAppService
3142
- .getGroupTypeSettings()
3143
- .pipe(takeUntil(this.destroy$))
3144
- .subscribe({
3145
- next: (response) => {
3146
- if (response.status) {
3147
- this.getRoles();
3148
- const settingsList = response.body;
3149
- settingsList.map((setting) => {
3150
- this.settingOptions.push({
3151
- id: setting.lovId,
3152
- name: setting.lovDesc,
3153
- checked: false,
3154
- disabled: false,
3155
- });
3156
- });
3157
- }
3158
- },
3159
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3160
- error: (error) => {
3161
- this.sharedService.handleErrors(error, this.createGroupTypeScreenTexts.errors);
3162
- },
3163
- });
3164
- }
3165
- /**
3166
- * Gets the list of roles and updates the form control.
3167
- * @memberof CreateModifyGroupTypeComponent
3168
- */
3169
- getRoles() {
3170
- this.tenantAppService
3171
- .getRoles(this.appId)
3172
- .pipe(takeUntil(this.destroy$))
3173
- .subscribe({
3174
- next: (response) => {
3175
- if (response?.status) {
3176
- const rolesList = response?.body;
3177
- rolesList.map((role) => {
3178
- if (role.roleTypeName === RoleType.OFFICER) {
3179
- this.officerRolesOptions.push({
3180
- id: role.roleId,
3181
- name: role.roleName,
3182
- checked: false,
3183
- disabled: false,
3184
- });
3185
- }
3186
- else if (role.roleTypeName === RoleType.MEMBER_LEVEL) {
3187
- this.memberLevelOptions.push({
3188
- id: role.roleId,
3189
- name: role.roleName,
3190
- checked: false,
3191
- disabled: false,
3192
- });
3193
- }
3194
- });
3195
- if (this.memberLevelOptions.length === 0 ||
3196
- this.officerRolesOptions.length === 0) {
3197
- this.sharedService.showAlertMessage(AlertType.ERROR, this.createGroupTypeScreenTexts.errors['3019']);
3198
- }
3199
- else {
3200
- this.initializeCreateGroupTypeFormGroup();
3201
- }
3202
- }
3203
- },
3204
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3205
- error: (error) => {
3206
- this.sharedService.handleErrors(error, this.createGroupTypeScreenTexts.errors);
3207
- },
3208
- });
3209
- }
3210
- /**
3211
- * Gets and filters non SYSTEM_USER group types, constructs allowed sub-group types options and form field config.
3212
- * @memberof CreateModifyGroupTypeComponent
3213
- */
3214
- getGroupTypes() {
3215
- this.groupTypeDetails = this.tenantAppService.getGroupTypeDetails();
3216
- this.groupTypeDetails?.body?.forEach((item) => {
3217
- if (item?.configFieldValue?.businessRule?.rosterType !==
3218
- GroupRosterType?.SYSTEM_USER) {
3219
- this.allowedSubGroupTypesOptions.push({
3220
- id: item?.configFieldId,
3221
- name: item?.configFieldValue?.name,
3222
- checked: false,
3223
- disabled: false,
3224
- });
3225
- }
3226
- });
3227
- this.allowedSubGroupTypesFieldConfig = {
3228
- type: FormControlType.CHECKBOX,
3229
- label: this.createGroupTypeScreenTexts?.label?.allowedSubGroupTypes,
3230
- controlName: 'allowedSubGroupTypes',
3231
- checkboxOptions: this.allowedSubGroupTypesOptions,
3232
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel?.allowedSubGroupTypes,
3233
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3234
- ?.allowedSubGroupTypes,
3235
- };
3236
- }
3237
- /**
3238
- * Initialize the create/edit group type form group array.
3239
- * @param {*} [formValue]
3240
- * @memberof CreateModifyGroupTypeComponent
3241
- */
3242
- initializeCreateGroupTypeFormGroup() {
3243
- this.createGroupTypeFormGroup = {
3244
- formGroup: [
3245
- {
3246
- legend: '',
3247
- controls: [
3248
- {
3249
- type: FormControlType?.INPUT,
3250
- label: this.createGroupTypeScreenTexts?.label?.groupType + '*',
3251
- controlName: 'groupType',
3252
- value: '',
3253
- validation: [
3254
- Validators.required,
3255
- Validators.maxLength(GroupTypeValidation.groupTypeMaxLength),
3256
- ],
3257
- supportMessage: this.createGroupTypeScreenTexts?.supportText?.groupType,
3258
- requiredErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.required,
3259
- maxErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.limit
3260
- ?.groupTypeMaxChars,
3261
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel?.groupType,
3262
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3263
- ?.groupType,
3264
- },
3265
- {
3266
- type: FormControlType?.TEXT_AREA,
3267
- label: this.createGroupTypeScreenTexts?.label?.description + '*',
3268
- controlName: 'description',
3269
- value: '',
3270
- validation: [
3271
- Validators.required,
3272
- Validators.maxLength(GroupTypeValidation.descriptionMaxLength),
3273
- ],
3274
- supportMessage: this.createGroupTypeScreenTexts?.supportText?.description,
3275
- requiredErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.required,
3276
- maxCharCount: GroupTypeValidation.descriptionMaxLength,
3277
- maxErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.limit
3278
- ?.descriptionMaxChars,
3279
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel?.description,
3280
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3281
- ?.description,
3282
- ariaMultiline: true,
3283
- isResize: true,
3284
- },
3285
- {
3286
- type: FormControlType.RADIO,
3287
- label: this.createGroupTypeScreenTexts?.label?.rosterType + '*',
3288
- controlName: 'rosterType',
3289
- value: this.tenantFunctionType === TenantFunctionType.EDIT_GROUP_TYPE
3290
- ? this.selectedGroupTypeInfo.configFieldValue.businessRule
3291
- .rosterType
3292
- : this.rosterTypeOptions[0].label,
3293
- disabled: this.tenantFunctionType === TenantFunctionType.EDIT_GROUP_TYPE,
3294
- radioOptions: this.rosterTypeOptions,
3295
- validation: [Validators.required],
3296
- requiredErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.required,
3297
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel?.rosterType,
3298
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3299
- ?.rosterType,
3300
- },
3301
- {
3302
- type: FormControlType.CHECKBOX,
3303
- label: this.createGroupTypeScreenTexts?.label?.settings + '*',
3304
- controlName: 'settings',
3305
- checkboxOptions: this.settingOptions,
3306
- minSelectionRequired: 1,
3307
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel?.settings,
3308
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3309
- ?.settings,
3310
- requiredErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.required,
3311
- validation: [Validators.required],
3312
- },
3313
- {
3314
- type: FormControlType.CHECKBOX,
3315
- label: this.createGroupTypeScreenTexts?.label?.appOfficerRoles + '*',
3316
- controlName: 'appOfficerRoles',
3317
- checkboxOptions: this.officerRolesOptions,
3318
- minSelectionRequired: 1,
3319
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel
3320
- ?.appOfficerRoles,
3321
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3322
- ?.appOfficerRoles,
3323
- requiredErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.required,
3324
- validation: [Validators.required],
3325
- },
3326
- {
3327
- type: FormControlType.CHECKBOX,
3328
- label: this.createGroupTypeScreenTexts?.label?.appMemberLevel + '*',
3329
- controlName: 'appMemberLevel',
3330
- checkboxOptions: this.memberLevelOptions,
3331
- minSelectionRequired: 1,
3332
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel
3333
- ?.appMemberLevel,
3334
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3335
- ?.appMemberLevel,
3336
- requiredErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.required,
3337
- validation: [Validators.required],
3338
- },
3339
- {
3340
- type: FormControlType.RADIO,
3341
- label: this.createGroupTypeScreenTexts?.label?.isRootGroup + '*',
3342
- controlName: 'isRootGroup',
3343
- value: this.tenantFunctionType === TenantFunctionType.EDIT_GROUP_TYPE
3344
- ? this.selectedGroupTypeInfo.configFieldValue.businessRule
3345
- .isRootGroup
3346
- ? this.isRootGroupOptions[0].label
3347
- : this.isRootGroupOptions[1].label
3348
- : this.isRootGroupOptions[1].label,
3349
- disabled: this.tenantFunctionType === TenantFunctionType.EDIT_GROUP_TYPE,
3350
- radioOptions: this.isRootGroupOptions,
3351
- validation: [Validators.required],
3352
- requiredErrorMessage: this.createGroupTypeScreenTexts?.message?.error?.required,
3353
- ariaLabel: this.createGroupTypeScreenTexts?.label?.ariaLabel?.isRootGroup,
3354
- ariaDescribedById: this.createGroupTypeScreenTexts?.label?.ariaDescribedById
3355
- ?.isRootGroup,
3356
- },
3357
- ],
3358
- },
3359
- ],
3360
- };
3361
- }
3362
- /**
3363
- * Add or removes allowed sub groups form control (checkbox group control and options) as when allow sub group selection and updates the form state.
3364
- * @param {*} selectedCheckbox
3365
- * @memberof CreateModifyGroupTypeComponent
3366
- */
3367
- onCheckboxSelectionChange(selectedCheckbox) {
3368
- if (selectedCheckbox.name === Settings.ALLOW_SUB_GROUPS) {
3369
- if (selectedCheckbox.checked) {
3370
- this.componentRef = this.formUtilityService.addFormControl(this.dynamicFormComponentViewRef, CheckboxComponent, this.createModifyGroupTypeFormGroupRef, this.allowedSubGroupTypesFieldConfig, this.renderer, this.elementRef, 'is-root-group', this.dynamicFormComponent);
3371
- }
3372
- else {
3373
- this.allowedSubGroupTypesOptions.forEach((allowedSubGroupTypes) => (allowedSubGroupTypes.checked = false));
3374
- this.formUtilityService.removeFormControl(this.createModifyGroupTypeFormGroupRef, this.allowedSubGroupTypesFieldConfig, this.componentRef, this.renderer, this.elementRef);
3375
- }
3376
- }
3377
- }
3378
- /**
3379
- * Sets create/modify group type reactive form group reference.
3380
- * @param {FormGroup[]} form -The form group array containing the form to be referenced.
3381
- * @memberof CreateModifyGroupTypeComponent
3382
- */
3383
- getCreateModifyGroupTypeFormGroupRef(form) {
3384
- this.createModifyGroupTypeFormGroupRef = form[0];
3385
- }
3386
- /**
3387
- * Find the provided setting name in setting option and return the boolean value.
3388
- * @param {string} settingName
3389
- * @return {*} {boolean}
3390
- * @memberof CreateModifyGroupTypeComponent
3391
- */
3392
- isSettingSelectedByName(settingName) {
3393
- return this.settingOptions.find((setting) => setting.name === settingName)?.checked;
3394
- }
3395
- /**
3396
- * Creates a new group type on form submission and the form is valid.
3397
- * @param {FormGroup[]} form
3398
- * @memberof CreateModifyGroupTypeComponent
3399
- */
3400
- onCreateModifyGroupTypeFormSubmit(form) {
3401
- form[0]?.markAllAsTouched();
3402
- if (form[0].status === FormStatus.VALID) {
3403
- const selectedGroupTypes = this.allowedSubGroupTypesOptions
3404
- .filter((subGroupType) => subGroupType.checked)
3405
- .map((selectedGroupType) => selectedGroupType.id);
3406
- const selectedRoles = [
3407
- ...this.memberLevelOptions.filter((memberLevel) => memberLevel.checked),
3408
- ...this.officerRolesOptions.filter((officerRole) => officerRole.checked),
3409
- ].map((selectedRole) => {
3410
- return {
3411
- roleId: selectedRole.id,
3412
- };
3413
- });
3414
- const configFieldValue = {
3415
- name: form[0].get('groupType')?.value,
3416
- description: form[0].get('description')?.value,
3417
- businessRule: {
3418
- rosterType: form[0].get('rosterType')?.value,
3419
- allowEdit: this.isSettingSelectedByName(Settings.ALLOW_EDIT),
3420
- allowRoster: this.isSettingSelectedByName(Settings.ALLOW_ROSTERS),
3421
- allowAlternateVoting: this.isSettingSelectedByName(Settings.ALLOW_ALTERNATE_VOTING),
3422
- allowDelete: this.isSettingSelectedByName(Settings.ALLOW_DELETE),
3423
- allowSubGroup: this.isSettingSelectedByName(Settings.ALLOW_SUB_GROUPS),
3424
- hasClassification: this.isSettingSelectedByName(Settings.HAS_CLASSIFICATION),
3425
- allowedGroupType: selectedGroupTypes,
3426
- isRootGroup: form[0].get('isRootGroup')?.value ===
3427
- this.isRootGroupOptions[0].label,
3428
- },
3429
- };
3430
- if (form[0].get('isRootGroup')?.value === this.isRootGroupOptions[0].label)
3431
- configFieldValue.hierarchy = 0;
3432
- const createGroupTypePayload = {
3433
- payload: {
3434
- appId: this.appId,
3435
- roles: selectedRoles,
3436
- configFieldName: 'group_type',
3437
- configFieldValue: JSON.stringify(configFieldValue),
3438
- },
3439
- };
3440
- this.tenantAppService
3441
- .createGroupType(createGroupTypePayload)
3442
- .pipe(takeUntil(this.destroy$))
3443
- .subscribe({
3444
- next: (response) => {
3445
- if (response.status) {
3446
- const { appId, roles, configFieldName } = createGroupTypePayload.payload;
3447
- const configFieldValue = JSON.parse(createGroupTypePayload.payload.configFieldValue);
3448
- this.tenantAppService.setNewlyCreatedGroupTypeInfo({
3449
- appId,
3450
- roles,
3451
- configFieldName,
3452
- configFieldValue,
3453
- });
3454
- this.submitFormResponse.emit(response);
3455
- }
3456
- },
3457
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3458
- error: (error) => {
3459
- this.sharedService.handleErrors(error, this.createGroupTypeScreenTexts.errors);
3460
- },
3461
- });
3462
- }
3463
- }
3464
- /**
3465
- * Emits form cancel event.
3466
- * @memberof CreateModifyGroupTypeComponent
3467
- */
3468
- onFormCancel() {
3469
- this.formCancel.emit();
3470
- }
3471
- /**
3472
- * Implementation of ngOnDestroy lifecycle hook method to unsubscribe the open observable subscriptions.
3473
- * @memberof CreateModifyGroupTypeComponent
3474
- */
3475
- ngOnDestroy() {
3476
- this.destroy$.next(true);
3477
- this.destroy$.unsubscribe();
3478
- }
3479
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateModifyGroupTypeComponent, deps: [{ token: TenantApplicationsService }, { token: i2$1.SharedService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2$1.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
3480
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateModifyGroupTypeComponent, isStandalone: true, selector: "ieeesa-create-modify-group-type", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }, { propertyName: "dynamicFormComponentViewRef", first: true, predicate: DynamicFormComponent, descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createGroupTypeFormGroup\"\r\n class=\"ieeesa-create-group-type-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createGroupTypeFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateModifyGroupTypeFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateModifyGroupTypeFormGroupRef($event)\"\r\n (formCheckboxSelection)=\"onCheckboxSelectionChange($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-modal-dialog.ieeesa-create-modify-group-type{width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .mat-mdc-dialog-content{padding:1em!important}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-input-field{width:50%}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-dynamic-form__form-field{width:100%}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-dynamic-form .ieeesa-input-field,.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-dynamic-form .mat-mdc-form-field-flex{width:100%!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "actionButtonAlign"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected", "ctaButtonClick", "formMultiSelectAutoCompleteSearch", "formMultiSelectAutoCompleteClearSearchValue", "multiSelectAutoCompleteOptionsSelected", "formRichTextEditorContentChange"], exportAs: ["dynamicForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
3481
- }
3482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateModifyGroupTypeComponent, decorators: [{
3483
- type: Component,
3484
- args: [{ selector: 'ieeesa-create-modify-group-type', standalone: true, imports: [CommonModule, DynamicFormComponent], encapsulation: ViewEncapsulation.None, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createGroupTypeFormGroup\"\r\n class=\"ieeesa-create-group-type-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createGroupTypeFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateModifyGroupTypeFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateModifyGroupTypeFormGroupRef($event)\"\r\n (formCheckboxSelection)=\"onCheckboxSelectionChange($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-modal-dialog.ieeesa-create-modify-group-type{width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .mat-mdc-dialog-content{padding:1em!important}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-input-field{width:50%}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-dynamic-form__form-field{width:100%}.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-dynamic-form .ieeesa-input-field,.ieeesa-modal-dialog.ieeesa-create-modify-group-type .ieeesa-dynamic-form .mat-mdc-form-field-flex{width:100%!important}}\n"] }]
3485
- }], ctorParameters: function () { return [{ type: TenantApplicationsService }, { type: i2$1.SharedService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2$1.FormUtilityService }]; }, propDecorators: { dynamicFormComponent: [{
3486
- type: ViewChild,
3487
- args: [DynamicFormComponent]
3488
- }], dynamicFormComponentViewRef: [{
3489
- type: ViewChild,
3490
- args: [DynamicFormComponent, { read: ViewContainerRef }]
3491
- }], submitFormResponse: [{
3492
- type: Output
3493
- }], formCancel: [{
3494
- type: Output
3495
- }] } });
3496
-
3497
- class ViewTenantDetailsComponent {
3498
- constructor(
3499
- // eslint-disable-next-line no-unused-vars
3500
- dialog,
3501
- // eslint-disable-next-line no-unused-vars
3502
- breakpointObserverService,
3503
- // eslint-disable-next-line no-unused-vars
3504
- tenantAppService,
3505
- // eslint-disable-next-line no-unused-vars
3506
- globalErrorHandlerService,
3507
- // eslint-disable-next-line no-unused-vars
3508
- sharedService,
3509
- // eslint-disable-next-line no-unused-vars
3510
- activatedRoute) {
3511
- this.dialog = dialog;
3512
- this.breakpointObserverService = breakpointObserverService;
3513
- this.tenantAppService = tenantAppService;
3514
- this.globalErrorHandlerService = globalErrorHandlerService;
3515
- this.sharedService = sharedService;
3516
- this.activatedRoute = activatedRoute;
3517
- this.destroy$ = new Subject();
3518
- this.isMobileView = false;
3519
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3520
- this.constants = screenText;
3521
- this.tenantLabels = this.constants?.viewTenants?.label;
3522
- this.slideToggleOption = {
3523
- id: 1,
3524
- label: this.constants?.viewTenants?.label?.active,
3525
- checked: true,
3526
- disabled: false,
3527
- };
3528
- this.editButton = this.constants?.viewTenants?.buttons;
3529
- this.accordionInfoList = JSON.parse(JSON.stringify(this.constants?.viewTenants?.tenantAccordionInfo));
3530
- this.appId = '';
3531
- this.iconSize = this.constants?.viewRolesAndPermissions?.columnActionIconSize;
3532
- this.rolesAndPermissionsTableCaption = this.constants?.viewRolesAndPermissions?.tableCaption;
3533
- this.rolesAndPermissionsTableHeaderName = this.constants?.viewRolesAndPermissions?.tableColumnsHeaderText;
3534
- this.rolesAndPermissionsTableSupportMessage = this.constants?.viewRolesAndPermissions?.scrollbarSupportMessage;
3535
- this.permissionsColumnClassNumber = 1;
3536
- this.menuItems = this.constants?.viewRolesAndPermissions?.columnActionMenuItems;
3537
- this.columnSchema = [];
3538
- this.tableData = [];
3539
- this.isRolesAndPermissionsExpanded = false;
3540
- this.paginatorConfig = {
3541
- recordsPerPage: this.constants?.viewRolesAndPermissions?.pageSizeOptions[0],
3542
- pageSizeOptions: this.constants?.viewRolesAndPermissions?.pageSizeOptions,
3543
- totalRecords: 0,
3544
- };
3545
- this.rolesAndPermissionsClassName = '.ieeesa-view-tenant-info__roles-and-permissions';
3546
- this.headerElementClassName = '.ieeesa-header';
3547
- this.tableActions = {
3548
- isPaginationNeeded: true,
3549
- };
3550
- this.accordionDetails = AccordionDetails;
3551
- this.isBasicDetailsExpanded = false;
3552
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3553
- this.createGroupTypeScreenTexts = this.constants?.createGroupType;
3554
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3555
- this.editTenantScreenTexts = this.constants?.editTenant;
3556
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3557
- this.deleteRoleScreenTexts = this.constants?.deleteRole;
3558
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3559
- this.mapRolesAndPermissionsScreenTexts = this.constants?.mapRolesAndPermissions;
3560
- this.alignmentType = AlignType;
3561
- this.permissionType = PermissionType;
3562
- this.createRoleScreenTexts = this.constants?.createRole;
3563
- this.selectedRoleInfo = {
3564
- roleId: '',
3565
- roleName: '',
3566
- };
3567
- this.isGroupTypesExpanded = false;
3568
- this.roleTypeOptions = [];
3569
- this.breakpointObserverService
3570
- .getBreakpoint()
3571
- .pipe(takeUntil(this.destroy$))
3572
- .subscribe((result) => {
3573
- this.isMobileView = result?.matches;
3574
- });
3575
- }
3576
- /**
3577
- * Initializes view tenant details component.
3578
- * @return -returns nothing
3579
- * @memberof ViewTenantDetailsComponent
3580
- */
3581
- ngOnInit() {
3582
- this.tenantDetails =
3583
- this.tenantAppService?.getSelectedTenantInformation();
3584
- this.slideToggleOption.checked = this.tenantDetails?.status;
3585
- this.slideToggleOption.label = this.tenantDetails?.status
3586
- ? this.tenantLabels?.active
3587
- : this.tenantLabels?.inactive;
3588
- this.routePaths = this.routePaths ?? this.constants?.routeConfigPath;
3589
- this.viewTenantsRouteUrl = `/${this.routePaths?.viewTenants}`;
3590
- this.tenantAppService?.setAppConfig(this.apiBaseURL, this.userPermissions);
3591
- this.userTenantsPermissions = this.tenantAppService?.filterPermission(this.userPermissions);
3592
- this.appId = this.tenantAppService.getSelectedTenantInformation()
3593
- ?.appId;
3594
- this.tablePagination = {
3595
- offset: 0,
3596
- pageSize: this.paginatorConfig.pageSizeOptions[0],
3597
- };
3598
- this.getApplicationTypes();
3599
- this.activatedRoute?.queryParams
3600
- ?.pipe(takeUntil(this.destroy$))
3601
- ?.subscribe((params) => {
3602
- this.appId = params['id'];
3603
- this.getTenantDetails(this.appId);
3604
- });
3605
- }
3606
- /**
3607
- * Gets the selected tenant details from server.
3608
- * @memberof ViewTenantDetailsComponent
3609
- */
3610
- getTenantDetails(appId) {
3611
- this.tenantAppService
3612
- .getTenantDetails(appId)
3613
- .pipe(takeUntil(this.destroy$))
3614
- .subscribe({
3615
- next: (response) => {
3616
- if (response?.status) {
3617
- this.tenantDetails = response?.body;
3618
- this.tenantAppService.setSelectedTenantInformation(this.tenantDetails);
3619
- this.slideToggleOption.checked = this.tenantDetails
3620
- .status;
3621
- this.slideToggleOption.label = this.tenantDetails.status
3622
- ? this.tenantLabels?.active
3623
- : this.tenantLabels?.inactive;
3624
- const features = this.tenantDetails.features;
3625
- features.map((feature) => {
3626
- if (feature?.featureId ===
3627
- FeaturePermissionId.MEETINGS_AND_EVENTS ||
3628
- feature?.featureId === FeaturePermissionId.BALLOTS)
3629
- this.accordionInfoList.push({
3630
- id: this.accordionInfoList.length + 1,
3631
- isDisabled: false,
3632
- title: feature?.featureName,
3633
- });
3634
- });
3635
- }
3636
- },
3637
- error: (error) => {
3638
- this.sharedService.handleErrors(error, this.constants?.viewTenants.errors);
3639
- },
3640
- });
3641
- }
3642
- /**
3643
- * Display the corresponding tenant basic or feature details based on selected accordion.
3644
- * @param {AccordionInfo} accordionInfo
3645
- * @param {boolean} expanded
3646
- * @memberof ViewTenantDetailsComponent
3647
- */
3648
- showTenantDetails(accordionInfo, expanded) {
3649
- const accordionId = accordionInfo.id;
3650
- switch (accordionId) {
3651
- case 1: {
3652
- this.isBasicDetailsExpanded = expanded;
3653
- if (expanded) {
3654
- this.getApplicationTypes();
3655
- }
3656
- break;
3657
- }
3658
- case 2: {
3659
- this.isRolesAndPermissionsExpanded = expanded;
3660
- if (expanded) {
3661
- this.columnSchema = [];
3662
- this.paginatorConfig.recordsPerPage =
3663
- this.constants?.viewRolesAndPermissions?.pageSizeOptions[0];
3664
- this.tablePagination.offset = 0;
3665
- this.tablePagination.pageSize = this.paginatorConfig.recordsPerPage;
3666
- this.getRolesAndInitializeTableSchema();
3667
- }
3668
- break;
3669
- }
3670
- case 3: {
3671
- this.isGroupTypesExpanded = expanded;
3672
- break;
3673
- }
3674
- }
3675
- }
3676
- /**
3677
- * Fetches the configured roles of the selected tenant and creates the column schema.
3678
- * @memberof ViewTenantDetailsComponent
3679
- */
3680
- getRolesAndInitializeTableSchema() {
3681
- this.tenantAppService
3682
- .getRoles(this.appId)
3683
- .pipe(takeUntil(this.destroy$))
3684
- .subscribe({
3685
- next: (response) => {
3686
- if (response?.status) {
3687
- this.getRolesAndPermissionsAndInitializeTableView({
3688
- payload: {
3689
- offset: this.tablePagination.offset,
3690
- pageSize: this.tablePagination.pageSize,
3691
- },
3692
- });
3693
- const rolesList = this.tenantAppService.sortRolesByRoleType(response?.body);
3694
- this.tenantAppService.setRolesInfo(rolesList);
3695
- const cellValue = this.constants.viewRolesAndPermissions.tableCellValue;
3696
- this.columnSchema = [
3697
- {
3698
- id: 0,
3699
- columnDef: 'permissions',
3700
- heading: this.constants.viewRolesAndPermissions.tableColumn
3701
- .permissions,
3702
- columnType: TableColumnType.TEXT,
3703
- cellData: (rolesAndPermissions) => rolesAndPermissions.permission,
3704
- isStickyColumn: true,
3705
- },
3706
- ];
3707
- rolesList.map((role, index) => {
3708
- this.columnSchema.push({
3709
- id: index + 1,
3710
- columnDef: role.roleId,
3711
- heading: role.roleName,
3712
- columnType: TableColumnType.TEXT,
3713
- hasColumnActions: true,
3714
- cellData: (rolesAndPermissions) => {
3715
- return rolesAndPermissions.roleIdsList.find((roleId) => role.roleId === roleId)
3716
- ? cellValue.yes
3717
- : cellValue.no;
3718
- },
3719
- });
3720
- });
3721
- }
3722
- },
3723
- error: (error) => {
3724
- this.sharedService.handleErrors(error, this.constants?.viewTenants?.errors);
3725
- },
3726
- });
3727
- }
3728
- /**
3729
- * Fetches the roles and permissions mappings for the selected tenant and and initialize table view.
3730
- * @param {GetRolesAndPermissionsPayload} payload
3731
- * @memberof ViewTenantDetailsComponent
3732
- */
3733
- getRolesAndPermissionsAndInitializeTableView(payload) {
3734
- this.tenantAppService
3735
- .getRolesAndPermissionsMappings(this.appId, payload)
3736
- .pipe(takeUntil(this.destroy$))
3737
- .subscribe({
3738
- next: (response) => {
3739
- if (response?.status) {
3740
- this.tableData = [];
3741
- this.paginatorConfig.totalRecords = response?.body
3742
- ?.totalRecords;
3743
- const rolesAndPermissionsList = response?.body
3744
- ?.rolePermissionDetails;
3745
- rolesAndPermissionsList.map((permission) => {
3746
- let roleIdsList = [];
3747
- roleIdsList = permission.roleList.map((role) => role.roleId);
3748
- this.tableData.push({
3749
- permission: permission.permissionName,
3750
- roleIdsList: roleIdsList,
3751
- });
3752
- });
3753
- }
3754
- },
3755
- error: (error) => {
3756
- this.sharedService.handleErrors(error, this.constants?.viewTenants?.errors);
3757
- },
3758
- });
3759
- }
3760
- /**
3761
- * Fetch the roles and permissions records based on offset and page size while the pagination changes.
3762
- * @param {PageEvent} pageEvent
3763
- * @memberof ViewTenantDetailsComponent
3764
- */
3765
- onTablePaginationChange(pageEvent) {
3766
- this.tablePagination = {
3767
- offset: pageEvent.pageIndex,
3768
- pageSize: pageEvent.pageSize,
3769
- };
3770
- this.getRolesAndPermissionsAndInitializeTableView({
3771
- payload: {
3772
- offset: pageEvent.pageIndex,
3773
- pageSize: pageEvent.pageSize,
3774
- },
3775
- });
3776
- }
3777
- /**
3778
- * Captures the selected role's information and performs edit or delete action basis on the selected menu item.
3779
- * @param {TableColumnMenuInfo} roleMenuInfo
3780
- * @memberof ViewTenantDetailsComponent
3781
- */
3782
- onRoleMenuClick(roleMenuInfo) {
3783
- this.selectedRoleInfo.roleId = roleMenuInfo?.tableColumnInfo?.columnDef;
3784
- this.selectedRoleInfo.roleName = roleMenuInfo?.tableColumnInfo?.heading;
3785
- this.tenantAppService?.setSelectedRoleInformation(this.selectedRoleInfo);
3786
- if (roleMenuInfo?.menuActionInfo?.id === RoleMenuAction.DELETE_ROLE) {
3787
- this.openDeleteRoleModal();
3788
- }
3789
- else if (roleMenuInfo?.menuActionInfo?.id === RoleMenuAction.EDIT_ROLE) {
3790
- this.openEditRoleForm();
3791
- }
3792
- }
3793
- /**
3794
- * Keeps track of the accordion based on the element's ID in DOM tree.
3795
- * @memberof ViewTenantDetailsComponent
3796
- */
3797
- trackByAccordionFn(index, item) {
3798
- return item?.id;
3799
- }
3800
- /**
3801
- * Gets the role types and updates the form control.
3802
- * @memberof ViewTenantDetailsComponent
3803
- */
3804
- getRoleTypes() {
3805
- const payload = {
3806
- payload: {
3807
- appId: this.tenantDetails?.appId,
3808
- configFieldName: 'role_type',
3809
- },
3810
- };
3811
- this.tenantAppService
3812
- .getRoleTypes(payload)
3813
- .pipe(takeUntil(this.destroy$))
3814
- .subscribe({
3815
- next: (response) => {
3816
- if (response?.status) {
3817
- this.roleTypeOptions = this.tenantAppService.getRoleTypeOptions(response?.body);
3818
- this.tenantAppService?.setRoleTypeOption(this.roleTypeOptions);
3819
- if (this.functionType === TenantFunctionType.CREATE_ROLE) {
3820
- this.openCreateRoleForm();
3821
- }
3822
- }
3823
- },
3824
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3825
- error: (error) => {
3826
- this.sharedService.handleErrors(error, this.createRoleScreenTexts?.errors);
3827
- },
3828
- });
3829
- }
3830
- /**
3831
- * Sets the dialog options for create role modal and calls openModal method.
3832
- * @return -returns nothing
3833
- * @memberof ViewTenantDetailsComponent
3834
- */
3835
- openCreateRoleForm() {
3836
- this.tenantAppService?.setTenantFunctionType(TenantFunctionType?.CREATE_ROLE);
3837
- this.functionType = TenantFunctionType.CREATE_ROLE;
3838
- if (this.roleTypeOptions.length > 0) {
3839
- const dialogOptions = {
3840
- heading: this.constants?.createRole?.heading,
3841
- isCloseNeeded: true,
3842
- componentReference: CreateModifyRoleComponent,
3843
- modalType: ModalType.FORM,
3844
- };
3845
- this.openModal(dialogOptions, 'ieeesa-create-modify-role');
3846
- }
3847
- else {
3848
- this.getRoleTypes();
3849
- }
3850
- }
3851
- /**
3852
- * Sets the dialog options for create group type modal and calls openModal method.
3853
- * @return -returns nothing
3854
- * @memberof ViewTenantDetailsComponent
3855
- */
3856
- openCreateGroupTypeForm() {
3857
- this.tenantAppService?.setTenantFunctionType(TenantFunctionType?.CREATE_GROUP_TYPE);
3858
- this.functionType = TenantFunctionType.CREATE_GROUP_TYPE;
3859
- const dialogOptions = {
3860
- heading: this.constants?.createGroupType?.heading,
3861
- isCloseNeeded: true,
3862
- componentReference: CreateModifyGroupTypeComponent,
3863
- modalType: ModalType.FORM,
3864
- };
3865
- this.openModal(dialogOptions, 'ieeesa-create-modify-group-type');
3866
- }
3867
- /**
3868
- * Sets the dialog options for edit role modal and calls openModal method.
3869
- * @return -returns nothing
3870
- * @memberof ViewTenantDetailsComponent
3871
- */
3872
- openEditRoleForm() {
3873
- this.tenantAppService?.setTenantFunctionType(TenantFunctionType?.EDIT_ROLE);
3874
- this.functionType = TenantFunctionType.EDIT_ROLE;
3875
- const dialogOptions = {
3876
- heading: this.selectedRoleInfo?.roleName,
3877
- isCloseNeeded: true,
3878
- componentReference: CreateModifyRoleComponent,
3879
- modalType: ModalType.FORM,
3880
- };
3881
- this.openModal(dialogOptions, 'ieeesa-create-modify-role');
3882
- }
3883
- /**
3884
- * Sets the dialog options for edit tenant modal and calls openModal method.
3885
- * @return -returns nothing
3886
- * @memberof ViewTenantDetailsComponent
3887
- */
3888
- openEditTenantForm() {
3889
- this.tenantAppService?.setTenantFunctionType(TenantFunctionType?.EDIT);
3890
- this.functionType = TenantFunctionType.EDIT;
3891
- const dialogOptions = {
3892
- heading: this.tenantDetails?.appTitle,
3893
- isCloseNeeded: true,
3894
- componentReference: CreateTenantApplicationComponent,
3895
- modalType: ModalType.FORM,
3896
- };
3897
- this.openModal(dialogOptions, 'ieeesa-edit-tenant');
3898
- }
3899
- /**
3900
- * Opens modal component with received params and handles form submission success and errors.
3901
- * @param {*} dialogOptions
3902
- * @param {string} [className]
3903
- * @return -returns nothing
3904
- * @memberof ViewTenantsDetailsComponent
3905
- */
3906
- openModal(
3907
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3908
- dialogOptions, className) {
3909
- className = className ?? '';
3910
- this.dialogRef = this.dialog?.open(ModalComponent, {
3911
- data: dialogOptions,
3912
- width: '',
3913
- panelClass: ['ieeesa-modal-dialog', className],
3914
- ariaModal: true,
3915
- });
3916
- this.dialogRef?.componentInstance?.submitFormResponse
3917
- .pipe(takeUntil(this.destroy$))
3918
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, no-unused-vars
3919
- .subscribe((result) => {
3920
- this.dialogRef?.close();
3921
- switch (this.functionType) {
3922
- case TenantFunctionType?.EDIT: {
3923
- this.sharedService.showAlertMessage(AlertType?.SUCCESS, `${this.tenantDetails?.appTitle} ${this.editTenantScreenTexts?.message?.success?.submission}`);
3924
- this.tenantDetails = {
3925
- ...this.tenantAppService.getSelectedTenantInformation(),
3926
- };
3927
- break;
3928
- }
3929
- case TenantFunctionType?.CREATE_ROLE: {
3930
- const promptMessage = this.createRoleScreenTexts?.message?.success;
3931
- const roleInfo = this.tenantAppService?.getNewlyCreatedRoleInfo();
3932
- this.sharedService.showAlertMessage(AlertType?.SUCCESS, `${promptMessage?.submission1} ${roleInfo?.roleName} ${promptMessage?.submission2} ${this.tenantDetails?.appTitle}. ${promptMessage?.submission3}`);
3933
- this.getRolesAndInitializeTableSchema();
3934
- break;
3935
- }
3936
- case TenantFunctionType?.EDIT_ROLE: {
3937
- const promptMessage = this.createRoleScreenTexts?.message?.success;
3938
- const roleInfo = this.tenantAppService?.getNewlyCreatedRoleInfo();
3939
- this.sharedService.showAlertMessage(AlertType?.SUCCESS, `${roleInfo?.roleName} ${promptMessage?.modify} ${this.tenantDetails?.appTitle}.`);
3940
- this.getRolesAndInitializeTableSchema();
3941
- break;
3942
- }
3943
- case TenantFunctionType?.CREATE_GROUP_TYPE: {
3944
- this.sharedService.showAlertMessage(AlertType?.SUCCESS, `${this.createGroupTypeScreenTexts?.message?.success?.submissionPart1} ${this.tenantAppService.newlyCreatedGroupType.configFieldValue.name} ${this.createGroupTypeScreenTexts?.message?.success?.submissionPart2} ${this.tenantDetails?.appTitle}. `);
3945
- this.tenantAppService.isGroupTypeAddedOrModified.next(true);
3946
- break;
3947
- }
3948
- }
3949
- });
3950
- this.dialogRef?.componentInstance?.formCancel
3951
- .pipe(takeUntil(this.destroy$))
3952
- .subscribe(() => {
3953
- this.dialogRef?.close();
3954
- if (this.tenantAppService.getTenantFunctionType() ===
3955
- TenantFunctionType.MAP_PERMISSION_AND_ROLE)
3956
- this.getRolesAndInitializeTableSchema();
3957
- });
3958
- this.dialogRef?.componentInstance?.modalConfirm
3959
- .pipe(takeUntil(this.destroy$))
3960
- .subscribe(() => {
3961
- if (this.tenantAppService.getTenantFunctionType() ===
3962
- TenantFunctionType.MAP_PERMISSION_AND_ROLE)
3963
- this.getRolesAndInitializeTableSchema();
3964
- });
3965
- }
3966
- /**
3967
- * Calls openTenantStatusConfirmationModal to change the status of tenant on slide toggle change.
3968
- * @param {SlideToggleOption} slideToggleOption
3969
- * @memberof ViewTenantDetailsComponent
3970
- */
3971
- onSlideToggleChange(slideToggleOption) {
3972
- this.openTenantStatusConfirmationModal(slideToggleOption?.checked);
3973
- }
3974
- /**
3975
- * Opens the confirmation modal to inactivate/reactivate the tenant.
3976
- * @param {boolean} isActivate
3977
- * @memberof ViewTenantDetailsComponent
3978
- */
3979
- openTenantStatusConfirmationModal(isActivate) {
3980
- const confirmationInfo = this.constants?.viewTenants?.confirmationInfo;
3981
- const statusText = isActivate
3982
- ? confirmationInfo?.promptMessageActivate
3983
- : confirmationInfo?.promptMessageInactivate;
3984
- const updateTenantStatusModalOptions = {
3985
- leftButtonLabel: confirmationInfo?.leftButtonLabel,
3986
- rightButtonLabel: confirmationInfo?.rightButtonLabel,
3987
- promptMessage: `${confirmationInfo?.promptMessage} ${statusText} ${this.tenantDetails?.appTitle}?`,
3988
- actionButtonAlign: this.alignmentType?.MIDDLE,
3989
- };
3990
- this.dialogRef = this.dialog?.open(ModalConfirmationComponent, {
3991
- data: updateTenantStatusModalOptions,
3992
- width: 'auto',
3993
- autoFocus: 'dialog',
3994
- ariaLabel: confirmationInfo?.ariaLabel?.alert,
3995
- });
3996
- this.dialogRef
3997
- .afterClosed()
3998
- .pipe(takeUntil(this.destroy$))
3999
- .subscribe((result) => {
4000
- if (result) {
4001
- this.updateTenantStatus(isActivate);
4002
- }
4003
- else {
4004
- this.setSlideToggleStatus(isActivate);
4005
- }
4006
- });
4007
- }
4008
- /**
4009
- * Opens the map permissions and roles modal.
4010
- * @memberof ViewTenantDetailsComponent
4011
- * @returns {void}
4012
- */
4013
- openMapRolesAndPermissionsForm() {
4014
- this.tenantAppService?.setTenantFunctionType(TenantFunctionType?.MAP_PERMISSION_AND_ROLE);
4015
- const dialogOptions = {
4016
- heading: this.mapRolesAndPermissionsScreenTexts.heading,
4017
- isCloseNeeded: true,
4018
- modalType: ModalType.FORM,
4019
- componentReference: RolesAndPermissionsMappingComponent,
4020
- };
4021
- this.openModal(dialogOptions, 'ieeesa-map-permissions-and-roles');
4022
- }
4023
- /**
4024
- * Updates the tenant status to the server using http request and display success/error message based on request response (success or failure).
4025
- * @param {boolean} isActivate
4026
- * @memberof ViewTenantDetailsComponent
4027
- */
4028
- updateTenantStatus(isActivate) {
4029
- const updateTenantStatusRequestPayload = {
4030
- payload: {
4031
- appId: this.tenantDetails?.appId,
4032
- status: isActivate,
4033
- },
4034
- };
4035
- this.tenantAppService
4036
- .updateTenantStatus(updateTenantStatusRequestPayload)
4037
- .pipe(takeUntil(this.destroy$))
4038
- .subscribe({
4039
- next: (res) => {
4040
- this.dialogRef?.close();
4041
- if (res?.status) {
4042
- this.slideToggleOption.label = isActivate
4043
- ? this.tenantLabels?.active
4044
- : this.tenantLabels?.inactive;
4045
- this.tenantDetails.status = isActivate;
4046
- this.tenantDetails = Object.assign({}, this.tenantDetails);
4047
- }
4048
- },
4049
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4050
- error: (error) => {
4051
- this.setSlideToggleStatus(isActivate);
4052
- this.sharedService.handleErrors(error, this.constants?.viewTenants?.errors);
4053
- },
4054
- });
4055
- }
4056
- /**
4057
- * Sets slide toggle checked status and label.
4058
- * @param {boolean} isActivate
4059
- * @memberof ViewTenantDetailsComponent
4060
- */
4061
- setSlideToggleStatus(isActivate) {
4062
- this.slideToggleOption.checked = !isActivate;
4063
- this.slideToggleOption.label = !isActivate
4064
- ? this.tenantLabels?.active
4065
- : this.tenantLabels?.inactive;
4066
- }
4067
- /**
4068
- * Gets the application/tenant types.
4069
- * @memberof ViewTenantDetailsComponent
4070
- */
4071
- getApplicationTypes() {
4072
- this.tenantAppService
4073
- .getApplicationTypes()
4074
- .pipe(takeUntil(this.destroy$))
4075
- .subscribe({
4076
- next: (response) => {
4077
- if (response?.status) {
4078
- this.appTypeOptions =
4079
- this.tenantAppService.getApplicationTypeOptions(response?.body);
4080
- this.tenantAppService.setApplicationType(this.appTypeOptions);
4081
- }
4082
- },
4083
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4084
- error: (error) => {
4085
- this.sharedService.handleErrors(error, this.constants?.viewTenants?.errors);
4086
- },
4087
- });
4088
- }
4089
- /**
4090
- * Validates permission based access for provided feature.
4091
- * @param {PermissionType} permissionType
4092
- * @return {boolean}
4093
- * @memberof ViewTenantDetailsComponent
4094
- */
4095
- validateAccess(permissionType) {
4096
- return this.tenantAppService.validateAccess(permissionType, this.userTenantsPermissions);
4097
- }
4098
- /**
4099
- * Posts the details of the role to be deleted to the server using http request and display success/error message based on request response (success or failure).
4100
- * @memberof ViewTenantDetailsComponent
4101
- */
4102
- deleteRole() {
4103
- const deleteRoleRequestPayload = {
4104
- payload: {
4105
- appId: this.tenantDetails?.appId,
4106
- roleId: this.selectedRoleInfo?.roleId,
4107
- },
4108
- };
4109
- this.tenantAppService
4110
- .deleteRole(deleteRoleRequestPayload)
4111
- .pipe(takeUntil(this.destroy$))
4112
- .subscribe({
4113
- next: (res) => {
4114
- if (res?.status) {
4115
- this.sharedService.showAlertMessage(AlertType?.SUCCESS, `${this.selectedRoleInfo?.roleName} ${this.deleteRoleScreenTexts?.message?.success?.submission} ${this.tenantDetails?.appTitle}.`);
4116
- this.getRolesAndInitializeTableSchema();
4117
- }
4118
- },
4119
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4120
- error: (error) => {
4121
- this.sharedService.handleErrors(error, this.constants?.viewTenants?.errors);
4122
- },
4123
- });
4124
- }
4125
- /**
4126
- * Sets the role menu HTMLElement.
4127
- * @param {HTMLElement} menuButton
4128
- * @memberof ViewTenantDetailsComponent
4129
- */
4130
- selectedRoleMenuElement(menuButton) {
4131
- this.roleMenuElement = menuButton;
4132
- }
4133
- /**
4134
- * Opens the confirmation modal to get user confirmation to delete the role.
4135
- * @memberof ViewTenantDetailsComponent
4136
- */
4137
- openDeleteRoleModal() {
4138
- const confirmationInfo = this.constants?.viewTenants?.confirmationInfo;
4139
- const deleteRoleModalOptions = {
4140
- leftButtonLabel: confirmationInfo?.leftButtonLabel,
4141
- rightButtonLabel: confirmationInfo?.rightButtonLabel,
4142
- promptMessage: `${confirmationInfo?.deleteRoleConfirmationMessage} ${this.selectedRoleInfo?.roleName}? ${confirmationInfo?.deleteRolePromptMessage} ${this.tenantDetails?.appTitle}.`,
4143
- actionButtonAlign: this.alignmentType?.MIDDLE,
4144
- };
4145
- this.dialogRef = this.dialog?.open(ModalConfirmationComponent, {
4146
- data: deleteRoleModalOptions,
4147
- width: '25%',
4148
- panelClass: [
4149
- 'ieeesa-modal-confirm-dialog',
4150
- 'ieeesa-delete-role-confirm-dialog',
4151
- ],
4152
- autoFocus: 'dialog',
4153
- ariaLabel: confirmationInfo?.ariaLabel?.alert,
4154
- });
4155
- this.dialogRef
4156
- .afterClosed()
4157
- .pipe(takeUntil(this.destroy$))
4158
- .subscribe((result) => {
4159
- if (result) {
4160
- this.deleteRole();
4161
- }
4162
- else
4163
- this.roleMenuElement?.focus();
4164
- });
4165
- }
4166
- /**
4167
- * Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
4168
- * @memberof ViewTenantDetailsComponent
4169
- */
4170
- ngOnDestroy() {
4171
- this.roleTypeOptions = [];
4172
- this.tenantAppService?.setRoleTypeOption(this.roleTypeOptions);
4173
- this.destroy$?.next(true);
4174
- this.destroy$?.unsubscribe();
4175
- }
4176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantDetailsComponent, deps: [{ token: i1$1.MatDialog }, { token: i2.BreakpointObserverService }, { token: TenantApplicationsService }, { token: i2.GlobalErrorHandlerService }, { token: i2$1.SharedService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ViewTenantDetailsComponent, isStandalone: true, selector: "ieeesa-view-tenant-details", inputs: { apiBaseURL: "apiBaseURL", userPermissions: "userPermissions", routePaths: "routePaths" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-view-tenant-info px-4 pb-4\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-view-tenant-info--bg-white'\r\n : 'ieeesa-view-tenant-info--bg-blue'\r\n \"\r\n>\r\n <div\r\n class=\"d-flex justify-content-between gap-lg-4 gap-md-3 gap-sm-2 gap-3\"\r\n [ngClass]=\"isMobileView ? 'flex-column gap-2 pb-3' : 'align-item-center'\"\r\n >\r\n <div\r\n class=\"d-flex gap-lg-4 gap-md-3 gap-sm-3 gap-3 ps-0 align-items-md-center align-items-xl-center\"\r\n [ngClass]=\"isMobileView ? 'flex-column' : ''\"\r\n >\r\n <p\r\n class=\"mb-0 ieeesa-headline-lg-32 py-3\"\r\n [ngClass]=\"isMobileView ? '' : 'ieeesa-view-tenant-info--title'\"\r\n >\r\n {{ tenantDetails?.appTitle }}\r\n </p>\r\n <div class=\"d-flex gap-lg-2 gap-md-2 gap-sm-2 gap-2\">\r\n <span\r\n class=\"mb-0 ieeesa-title-sm-14 mt-1\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'ieeesa-view-tenant-info--app-id'\"\r\n >\r\n {{ tenantLabels?.appId }}:\r\n </span>\r\n {{ tenantDetails?.appId }}\r\n <ng-container *ngIf=\"tenantDetails?.appId !== tenantLabels?.saAppId\">\r\n <mat-divider [vertical]=\"true\"></mat-divider>\r\n <span\r\n class=\"mb-0 mt-1 ieeesa-title-sm-14 ieeesa-view-tenant-info--app-status\"\r\n [ngClass]=\"isMobileView ? 'p-0' : ''\"\r\n >\r\n {{ tenantLabels?.status }}:\r\n </span>\r\n <ieeesa-slide-toggle\r\n [slideToggle]=\"slideToggleOption\"\r\n (slideToggleChange)=\"onSlideToggleChange($event)\"\r\n ></ieeesa-slide-toggle>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <a\r\n class=\"ieeesa-btn-label-lg-bold-16 text-decoration-none mt-lg-3 mt-xl-6 p-sm-0 p-md-0\"\r\n href=\"javascript:void(0)\"\r\n rel=\"noopener noreferrer\"\r\n [routerLink]=\"viewTenantsRouteUrl\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-view-tenant-info--link-mobile'\r\n : 'ieeesa-view-tenant-info--link'\r\n \"\r\n >{{ tenantLabels?.viewAllApps }}</a\r\n >\r\n </div>\r\n <div\r\n class=\"ieeesa-view-tenant-info__accordion ieeesa-view-tenant-info__accordion--blue-bg\"\r\n [ngClass]=\"isMobileView ? 'ieeesa-view-tenant-info__accordion--info' : ''\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let accordionInfo of accordionInfoList;\r\n trackBy: trackByAccordionFn\r\n \"\r\n >\r\n <ng-container [ngSwitch]=\"accordionInfo.id\">\r\n <ng-container *ngSwitchCase=\"accordionDetails.BASIC_DETAILS\">\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n class=\"ieeesa-view-tenant-info__accordion-info\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n >\r\n <ieeesa-icon-button\r\n *ngIf=\"\r\n isBasicDetailsExpanded &&\r\n validateAccess(permissionType.MANAGE_TENANT)\r\n \"\r\n actions\r\n class=\"ieeesa-button\"\r\n [iconButton]=\"editButton\"\r\n (iconButtonClick)=\"openEditTenantForm()\"\r\n ></ieeesa-icon-button>\r\n <ng-container component *ngIf=\"isBasicDetailsExpanded\">\r\n <ieeesa-tenant-basic-details\r\n [tenantDetails]=\"tenantDetails\"\r\n ></ieeesa-tenant-basic-details>\r\n </ng-container>\r\n </ieeesa-accordion>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"accordionDetails.ROLES_AND_PERMISSIONS\">\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n class=\"ieeesa-view-tenant-info__roles-and-permissions\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n >\r\n <div\r\n actions\r\n *ngIf=\"isRolesAndPermissionsExpanded\"\r\n class=\"d-flex gap-3\"\r\n [ngClass]=\"\r\n isMobileView ? 'mb-3 px-4' : 'ieeesa-view-tenant-info__actions'\r\n \"\r\n >\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'px-2 py-2'\"\r\n (click)=\"openCreateRoleForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{\r\n constants.viewRolesAndPermissions.actionButtonLabels.addRole\r\n }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button\"\r\n (click)=\"openMapRolesAndPermissionsForm()\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'px-2 py-2'\"\r\n >\r\n {{\r\n constants.viewRolesAndPermissions.actionButtonLabels\r\n .mapPermissionsRoles\r\n }}\r\n </button>\r\n </div>\r\n <ng-container component *ngIf=\"isRolesAndPermissionsExpanded\">\r\n <mat-divider\r\n class=\"ieeesa-view-tenant-info__roles-and-permissions__divider\"\r\n ></mat-divider>\r\n <ieeesa-data-table\r\n *ngIf=\"columnSchema.length\"\r\n [tableDataInfo]=\"tableData\"\r\n [headerElementClassName]=\"headerElementClassName\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [caption]=\"rolesAndPermissionsTableCaption\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [tableActions]=\"tableActions\"\r\n [isScrollSupportMessageNeeded]=\"true\"\r\n [tableColumnActionMenuSize]=\"iconSize\"\r\n [tableColumnActions]=\"menuItems\"\r\n [customStickyHeaderNeeded]=\"true\"\r\n [tableColumnsHeaderText]=\"rolesAndPermissionsTableHeaderName\"\r\n [scrollbarSupportMessage]=\"\r\n rolesAndPermissionsTableSupportMessage\r\n \"\r\n [verticalColumnHeaderNumber]=\"permissionsColumnClassNumber\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (tableColumnMenuActionClick)=\"onRoleMenuClick($event)\"\r\n (tableColumnMenuToggleButton)=\"selectedRoleMenuElement($event)\"\r\n ></ieeesa-data-table>\r\n </ng-container>\r\n </ieeesa-accordion>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"accordionDetails.GROUP_TYPES\">\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n class=\"ieeesa-view-tenant-info__group-types\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n >\r\n <div\r\n actions\r\n *ngIf=\"isGroupTypesExpanded\"\r\n class=\"d-flex gap-3\"\r\n [ngClass]=\"\r\n isMobileView ? 'mb-3 px-4' : 'ieeesa-view-tenant-info__actions'\r\n \"\r\n >\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button p-2\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n (click)=\"openCreateGroupTypeForm()\"\r\n >\r\n {{ constants.viewGroupTypes.actionButtonLabels.addGroupType }}\r\n </button>\r\n </div>\r\n <ng-container component *ngIf=\"isGroupTypesExpanded\">\r\n <ieeesa-view-tenant-group-types></ieeesa-view-tenant-group-types>\r\n </ng-container>\r\n </ieeesa-accordion>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n ></ieeesa-accordion>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-view-tenant-info{background-color:#f2f2f2}.ieeesa-view-tenant-info--bg-white{background-color:#fff;padding:1em 1.5em 0}.ieeesa-view-tenant-info__actions{top:15px;margin-right:20px;position:absolute;right:0}.ieeesa-view-tenant-info--title,.ieeesa-view-tenant-info--action{padding:.75em 0}.ieeesa-view-tenant-info--link{padding:1em .75em 1.3em 0!important}.ieeesa-view-tenant-info--link-mobile{max-width:-moz-fit-content;max-width:fit-content}.ieeesa-view-tenant-info--app-id,.ieeesa-view-tenant-info--app-status{color:#49454f}.ieeesa-view-tenant-info__accordion{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:1.5em .75em}.ieeesa-view-tenant-info__accordion--bg-white{background-color:#fff;box-shadow:none}.ieeesa-view-tenant-info__accordion--info{padding:1em 1em 1.5em}.ieeesa-view-tenant-info__accordion-info .mat-accordion .mat-expansion-panel-spacing.mat-expanded{position:relative}.ieeesa-view-tenant-info__accordion-info .mat-accordion .mat-expansion-panel-body{padding:1.5em 1.5em 1.5em 2.25em}.ieeesa-view-tenant-info__accordion-info .ieeesa-button{position:absolute;top:1.25em;right:0}.ieeesa-view-tenant-info__accordion-info .ieeesa-button svg{width:1.3em!important;height:1.3em!important}.ieeesa-view-tenant-info .mat-divider-vertical{margin:0;height:1.4em;color:#cac4d0;width:.063em;border-right-color:#cac4d0}.ieeesa-view-tenant-info .ieeesa-slide-toggle-field .mat-mdc-slide-toggle .mdc-label{color:#000!important}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-accordion .mat-accordion .mat-expansion-panel-spacing.mat-expanded{position:relative}.ieeesa-view-tenant-info__roles-and-permissions__divider{margin-top:12px!important;margin-bottom:16px!important;border-top:1px solid #ccd2da!important}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-header-cell{white-space:nowrap}.ieeesa-view-tenant-info__roles-and-permissions .mat-expansion-panel-body,.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table{padding-left:0;padding-right:0}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table .mat-column-permissions{min-width:12.5em;padding:16px!important}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table__content{margin-top:0!important}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table__column-menu .mat-mdc-icon-button.mat-mdc-button-base{padding:6px;width:24px;height:24px}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table__columns-header-text{padding:8px 16px;background:#dae9f1;box-shadow:0 1px #dce3e9 inset}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenant-info__roles-and-permissions .mdc-notched-outline__trailing,.ieeesa-view-tenant-info__roles-and-permissions .mdc-notched-outline__notch,.ieeesa-view-tenant-info__roles-and-permissions .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size-label,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size-select,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenant-info__roles-and-permissions .at-mdc-select-min-line,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenant-info__group-types .ieeesa-accordion .mat-accordion .mat-expansion-panel-spacing.mat-expanded{position:relative}.ieeesa-view-tenant-info__group-types .mat-mdc-header-cell{white-space:nowrap}.ieeesa-view-tenant-info__group-types .mat-expansion-panel-body,.ieeesa-view-tenant-info__group-types .ieeesa-data-table{padding-left:0;padding-right:0}.ieeesa-menu__item:not(:last-of-type){margin-bottom:0!important}.ieeesa-menu .mat-mdc-menu-item{min-height:35px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: SlideToggleComponent, selector: "ieeesa-slide-toggle", inputs: ["formControlName", "slideToggle", "isDisabled", "canShowIcon"], outputs: ["slideToggleChange"] }, { kind: "component", type: AccordionComponent, selector: "ieeesa-accordion", inputs: ["accordionInfo"], outputs: ["accordionOpened"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: TenantBasicDetailsComponent, selector: "ieeesa-tenant-basic-details", inputs: ["tenantDetails"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: DataTableComponent, selector: "ieeesa-data-table", inputs: ["tableDataInfo", "nestedTableDataInfo", "columnSchemaInfo", "nestedTableColumnSchemaInfo", "tableActions", "hasNestedTable", "tableColumnActions", "tableColumnActionMenuSize", "tableRowActions", "nestedTableRowActions", "caption", "viewAll", "paginatorConfig", "nestedPaginatorConfig", "legends", "searchPlaceHolderText", "rowEditButton", "rowDeleteButton", "tableEditButton", "tableDeleteButton", "rowExpandButton", "rowCollapseButton", "isNestedTableHeaderNeeded", "addButton", "defaultColumnSortDirection", "defaultSortedColumn", "isClearSortNeeded", "filters", "selectedFilterOptions", "appliedFilterOptions", "searchType", "className", "searchSupportMessage", "inbuiltSortingNeeded", "isCellTextOverflowEllipsis", "isTableHeaderNeeded", "tableColumnsHeaderText", "verticalColumnHeaderNumber", "scrollbarSupportMessage", "isScrollSupportMessageNeeded", "isStickyHeaderNeeded", "customStickyHeaderNeeded", "headerElementClassName", "searchResultMessage", "rowMenuActionIcon", "canDisableCheckbox", "isEllipsisRequiredForLink"], outputs: ["rowSelected", "selectedRowToEdit", "selectedRowToDelete", "selectedRowsToDelete", "rowLink", "addRow", "columnDataOnRowLinkClick", "menuActionClick", "selectActionMenu", "paginationChange", "selectedFilter", "removeFilteredOption", "filteredOptions", "searchedValue", "sortChange", "selectedRowsInfo", "rowExpansionClick", "tableColumnMenuActionClick", "tableColumnMenuToggleButton", "rowSlideToggle"] }, { kind: "component", type: ViewTenantGroupTypesComponent, selector: "ieeesa-view-tenant-group-types" }], encapsulation: i0.ViewEncapsulation.None }); }
4178
- }
4179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ViewTenantDetailsComponent, decorators: [{
4180
- type: Component,
4181
- args: [{ selector: 'ieeesa-view-tenant-details', standalone: true, imports: [
4182
- CommonModule,
4183
- RouterModule,
4184
- SlideToggleComponent,
4185
- AccordionComponent,
4186
- MatDividerModule,
4187
- TenantBasicDetailsComponent,
4188
- IconButtonComponent,
4189
- MatButtonModule,
4190
- DataTableComponent,
4191
- ViewTenantGroupTypesComponent,
4192
- ], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-view-tenant-info px-4 pb-4\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-view-tenant-info--bg-white'\r\n : 'ieeesa-view-tenant-info--bg-blue'\r\n \"\r\n>\r\n <div\r\n class=\"d-flex justify-content-between gap-lg-4 gap-md-3 gap-sm-2 gap-3\"\r\n [ngClass]=\"isMobileView ? 'flex-column gap-2 pb-3' : 'align-item-center'\"\r\n >\r\n <div\r\n class=\"d-flex gap-lg-4 gap-md-3 gap-sm-3 gap-3 ps-0 align-items-md-center align-items-xl-center\"\r\n [ngClass]=\"isMobileView ? 'flex-column' : ''\"\r\n >\r\n <p\r\n class=\"mb-0 ieeesa-headline-lg-32 py-3\"\r\n [ngClass]=\"isMobileView ? '' : 'ieeesa-view-tenant-info--title'\"\r\n >\r\n {{ tenantDetails?.appTitle }}\r\n </p>\r\n <div class=\"d-flex gap-lg-2 gap-md-2 gap-sm-2 gap-2\">\r\n <span\r\n class=\"mb-0 ieeesa-title-sm-14 mt-1\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'ieeesa-view-tenant-info--app-id'\"\r\n >\r\n {{ tenantLabels?.appId }}:\r\n </span>\r\n {{ tenantDetails?.appId }}\r\n <ng-container *ngIf=\"tenantDetails?.appId !== tenantLabels?.saAppId\">\r\n <mat-divider [vertical]=\"true\"></mat-divider>\r\n <span\r\n class=\"mb-0 mt-1 ieeesa-title-sm-14 ieeesa-view-tenant-info--app-status\"\r\n [ngClass]=\"isMobileView ? 'p-0' : ''\"\r\n >\r\n {{ tenantLabels?.status }}:\r\n </span>\r\n <ieeesa-slide-toggle\r\n [slideToggle]=\"slideToggleOption\"\r\n (slideToggleChange)=\"onSlideToggleChange($event)\"\r\n ></ieeesa-slide-toggle>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <a\r\n class=\"ieeesa-btn-label-lg-bold-16 text-decoration-none mt-lg-3 mt-xl-6 p-sm-0 p-md-0\"\r\n href=\"javascript:void(0)\"\r\n rel=\"noopener noreferrer\"\r\n [routerLink]=\"viewTenantsRouteUrl\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-view-tenant-info--link-mobile'\r\n : 'ieeesa-view-tenant-info--link'\r\n \"\r\n >{{ tenantLabels?.viewAllApps }}</a\r\n >\r\n </div>\r\n <div\r\n class=\"ieeesa-view-tenant-info__accordion ieeesa-view-tenant-info__accordion--blue-bg\"\r\n [ngClass]=\"isMobileView ? 'ieeesa-view-tenant-info__accordion--info' : ''\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let accordionInfo of accordionInfoList;\r\n trackBy: trackByAccordionFn\r\n \"\r\n >\r\n <ng-container [ngSwitch]=\"accordionInfo.id\">\r\n <ng-container *ngSwitchCase=\"accordionDetails.BASIC_DETAILS\">\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n class=\"ieeesa-view-tenant-info__accordion-info\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n >\r\n <ieeesa-icon-button\r\n *ngIf=\"\r\n isBasicDetailsExpanded &&\r\n validateAccess(permissionType.MANAGE_TENANT)\r\n \"\r\n actions\r\n class=\"ieeesa-button\"\r\n [iconButton]=\"editButton\"\r\n (iconButtonClick)=\"openEditTenantForm()\"\r\n ></ieeesa-icon-button>\r\n <ng-container component *ngIf=\"isBasicDetailsExpanded\">\r\n <ieeesa-tenant-basic-details\r\n [tenantDetails]=\"tenantDetails\"\r\n ></ieeesa-tenant-basic-details>\r\n </ng-container>\r\n </ieeesa-accordion>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"accordionDetails.ROLES_AND_PERMISSIONS\">\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n class=\"ieeesa-view-tenant-info__roles-and-permissions\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n >\r\n <div\r\n actions\r\n *ngIf=\"isRolesAndPermissionsExpanded\"\r\n class=\"d-flex gap-3\"\r\n [ngClass]=\"\r\n isMobileView ? 'mb-3 px-4' : 'ieeesa-view-tenant-info__actions'\r\n \"\r\n >\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'px-2 py-2'\"\r\n (click)=\"openCreateRoleForm()\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n >\r\n {{\r\n constants.viewRolesAndPermissions.actionButtonLabels.addRole\r\n }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button\"\r\n (click)=\"openMapRolesAndPermissionsForm()\"\r\n [ngClass]=\"isMobileView ? 'p-0' : 'px-2 py-2'\"\r\n >\r\n {{\r\n constants.viewRolesAndPermissions.actionButtonLabels\r\n .mapPermissionsRoles\r\n }}\r\n </button>\r\n </div>\r\n <ng-container component *ngIf=\"isRolesAndPermissionsExpanded\">\r\n <mat-divider\r\n class=\"ieeesa-view-tenant-info__roles-and-permissions__divider\"\r\n ></mat-divider>\r\n <ieeesa-data-table\r\n *ngIf=\"columnSchema.length\"\r\n [tableDataInfo]=\"tableData\"\r\n [headerElementClassName]=\"headerElementClassName\"\r\n [columnSchemaInfo]=\"columnSchema\"\r\n [caption]=\"rolesAndPermissionsTableCaption\"\r\n [paginatorConfig]=\"paginatorConfig\"\r\n [tableActions]=\"tableActions\"\r\n [isScrollSupportMessageNeeded]=\"true\"\r\n [tableColumnActionMenuSize]=\"iconSize\"\r\n [tableColumnActions]=\"menuItems\"\r\n [customStickyHeaderNeeded]=\"true\"\r\n [tableColumnsHeaderText]=\"rolesAndPermissionsTableHeaderName\"\r\n [scrollbarSupportMessage]=\"\r\n rolesAndPermissionsTableSupportMessage\r\n \"\r\n [verticalColumnHeaderNumber]=\"permissionsColumnClassNumber\"\r\n (paginationChange)=\"onTablePaginationChange($event)\"\r\n (tableColumnMenuActionClick)=\"onRoleMenuClick($event)\"\r\n (tableColumnMenuToggleButton)=\"selectedRoleMenuElement($event)\"\r\n ></ieeesa-data-table>\r\n </ng-container>\r\n </ieeesa-accordion>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"accordionDetails.GROUP_TYPES\">\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n class=\"ieeesa-view-tenant-info__group-types\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n >\r\n <div\r\n actions\r\n *ngIf=\"isGroupTypesExpanded\"\r\n class=\"d-flex gap-3\"\r\n [ngClass]=\"\r\n isMobileView ? 'mb-3 px-4' : 'ieeesa-view-tenant-info__actions'\r\n \"\r\n >\r\n <button\r\n mat-button\r\n class=\"mat-tertiary-button p-2\"\r\n *ngIf=\"validateAccess(permissionType.MANAGE_TENANT)\"\r\n (click)=\"openCreateGroupTypeForm()\"\r\n >\r\n {{ constants.viewGroupTypes.actionButtonLabels.addGroupType }}\r\n </button>\r\n </div>\r\n <ng-container component *ngIf=\"isGroupTypesExpanded\">\r\n <ieeesa-view-tenant-group-types></ieeesa-view-tenant-group-types>\r\n </ng-container>\r\n </ieeesa-accordion>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ieeesa-accordion\r\n [accordionInfo]=\"accordionInfo\"\r\n (accordionOpened)=\"showTenantDetails(accordionInfo, $event)\"\r\n ></ieeesa-accordion>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-view-tenant-info{background-color:#f2f2f2}.ieeesa-view-tenant-info--bg-white{background-color:#fff;padding:1em 1.5em 0}.ieeesa-view-tenant-info__actions{top:15px;margin-right:20px;position:absolute;right:0}.ieeesa-view-tenant-info--title,.ieeesa-view-tenant-info--action{padding:.75em 0}.ieeesa-view-tenant-info--link{padding:1em .75em 1.3em 0!important}.ieeesa-view-tenant-info--link-mobile{max-width:-moz-fit-content;max-width:fit-content}.ieeesa-view-tenant-info--app-id,.ieeesa-view-tenant-info--app-status{color:#49454f}.ieeesa-view-tenant-info__accordion{background-color:#fff;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;padding:1.5em .75em}.ieeesa-view-tenant-info__accordion--bg-white{background-color:#fff;box-shadow:none}.ieeesa-view-tenant-info__accordion--info{padding:1em 1em 1.5em}.ieeesa-view-tenant-info__accordion-info .mat-accordion .mat-expansion-panel-spacing.mat-expanded{position:relative}.ieeesa-view-tenant-info__accordion-info .mat-accordion .mat-expansion-panel-body{padding:1.5em 1.5em 1.5em 2.25em}.ieeesa-view-tenant-info__accordion-info .ieeesa-button{position:absolute;top:1.25em;right:0}.ieeesa-view-tenant-info__accordion-info .ieeesa-button svg{width:1.3em!important;height:1.3em!important}.ieeesa-view-tenant-info .mat-divider-vertical{margin:0;height:1.4em;color:#cac4d0;width:.063em;border-right-color:#cac4d0}.ieeesa-view-tenant-info .ieeesa-slide-toggle-field .mat-mdc-slide-toggle .mdc-label{color:#000!important}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-accordion .mat-accordion .mat-expansion-panel-spacing.mat-expanded{position:relative}.ieeesa-view-tenant-info__roles-and-permissions__divider{margin-top:12px!important;margin-bottom:16px!important;border-top:1px solid #ccd2da!important}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-header-cell{white-space:nowrap}.ieeesa-view-tenant-info__roles-and-permissions .mat-expansion-panel-body,.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table{padding-left:0;padding-right:0}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table .mat-column-permissions{min-width:12.5em;padding:16px!important}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table__content{margin-top:0!important}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table__column-menu .mat-mdc-icon-button.mat-mdc-button-base{padding:6px;width:24px;height:24px}.ieeesa-view-tenant-info__roles-and-permissions .ieeesa-data-table__columns-header-text{padding:8px 16px;background:#dae9f1;box-shadow:0 1px #dce3e9 inset}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-container{padding:0;flex-wrap:nowrap}.ieeesa-view-tenant-info__roles-and-permissions .mdc-notched-outline__trailing,.ieeesa-view-tenant-info__roles-and-permissions .mdc-notched-outline__notch,.ieeesa-view-tenant-info__roles-and-permissions .mdc-notched-outline__leading{border:none!important}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size-label,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size-select,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-range-label{margin:0}.ieeesa-view-tenant-info__roles-and-permissions .at-mdc-select-min-line,.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-range-label{color:#1c1d1e}.ieeesa-view-tenant-info__roles-and-permissions .mat-mdc-paginator-page-size-label{position:relative;color:#63666a;left:2em}.ieeesa-view-tenant-info__group-types .ieeesa-accordion .mat-accordion .mat-expansion-panel-spacing.mat-expanded{position:relative}.ieeesa-view-tenant-info__group-types .mat-mdc-header-cell{white-space:nowrap}.ieeesa-view-tenant-info__group-types .mat-expansion-panel-body,.ieeesa-view-tenant-info__group-types .ieeesa-data-table{padding-left:0;padding-right:0}.ieeesa-menu__item:not(:last-of-type){margin-bottom:0!important}.ieeesa-menu .mat-mdc-menu-item{min-height:35px!important}\n"] }]
4193
- }], ctorParameters: function () { return [{ type: i1$1.MatDialog }, { type: i2.BreakpointObserverService }, { type: TenantApplicationsService }, { type: i2.GlobalErrorHandlerService }, { type: i2$1.SharedService }, { type: i5.ActivatedRoute }]; }, propDecorators: { apiBaseURL: [{
4194
- type: Input
4195
- }], userPermissions: [{
4196
- type: Input
4197
- }], routePaths: [{
4198
- type: Input
4199
- }] } });
4200
-
4201
- /* eslint-disable no-empty-function */
4202
- class TenantApplicationsComponent {
4203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TenantApplicationsComponent, isStandalone: true, selector: "ieeesa-tenant-applications", ngImport: i0, template: "", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }] }); }
4205
- }
4206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsComponent, decorators: [{
4207
- type: Component,
4208
- args: [{ selector: 'ieeesa-tenant-applications', standalone: true, imports: [CommonModule, MatButtonModule], template: "" }]
4209
- }] });
4210
-
4211
- /* eslint-disable no-unused-vars */
4212
- var AppType;
4213
- (function (AppType) {
4214
- AppType["GENERIC"] = "Generic";
4215
- AppType["STANDALONE"] = "Standalone";
4216
- })(AppType || (AppType = {}));
4217
-
4218
- class TenantApplicationsModule {
4219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4220
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsModule }); }
4221
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsModule }); }
4222
- }
4223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantApplicationsModule, decorators: [{
4224
- type: NgModule,
4225
- args: [{
4226
- declarations: [],
4227
- imports: [],
4228
- exports: [],
4229
- }]
4230
- }] });
4231
-
4232
- /*
4233
- * Public API Surface of tenants
4234
- */
4235
-
4236
- /**
4237
- * Generated bundle index. Do not edit.
4238
- */
4239
-
4240
- export { AppType, CreateModifyGroupTypeComponent, CreateModifyRoleComponent, CreateTenantApplicationComponent, FeaturePermissionId, FormStatus, GroupTypeSettings, GroupTypeValidation, PermissionType, RoleAndPermissionsTableType, RoleMenuAction, RolesAndPermissionsMappingComponent, RolesValidation, RosterTypeLOVCode, Settings, SortOrderBy, TenantApplicationsComponent, TenantApplicationsModule, TenantApplicationsService, TenantBasicDetailsComponent, TenantFunctionType, TenantPermissionsMapService, TenantPermissionsService, TenantStatus, TenantsValidationPatterns, ViewTenantDetailsComponent, ViewTenantGroupTypesComponent, ViewTenantsColumnSchemaDef, ViewTenantsListComponent, VotingMemberLevelRole };
4241
- //# sourceMappingURL=ieeesa-npm-tenants.mjs.map