@ieeesa-npm/groups 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/assets/constants.json +70 -4
- package/esm2022/lib/components/create-group/create-group.component.mjs +6 -10
- package/esm2022/lib/components/tree-view/tree-view.component.mjs +407 -0
- package/esm2022/lib/groups.component.mjs +248 -21
- package/esm2022/lib/models/group-action.model.mjs +11 -0
- package/esm2022/lib/models/group-info.model.mjs +2 -0
- package/esm2022/lib/models/group-types.model.mjs +1 -1
- package/esm2022/lib/models/view-group.model.mjs +2 -0
- package/esm2022/lib/services/groups.service.mjs +46 -9
- package/esm2022/public-api.mjs +13 -9
- package/fesm2022/ieeesa-npm-groups.mjs +780 -39
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
- package/lib/components/create-group/create-group.component.d.ts +0 -4
- package/lib/components/tree-view/tree-view.component.d.ts +231 -0
- package/lib/groups.component.d.ts +88 -12
- package/lib/models/group-action.model.d.ts +8 -0
- package/lib/models/group-info.model.d.ts +12 -0
- package/lib/models/view-group.model.d.ts +9 -0
- package/lib/services/groups.service.d.ts +28 -6
- package/package.json +4 -4
- package/public-api.d.ts +12 -8
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, EventEmitter, Component, ViewEncapsulation, Output, Input, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { Validators } from '@angular/forms';
|
|
6
|
-
import { AlignType, FormControlType, DynamicFormComponent, ModalComponent } from '@ieeesa-npm/presentation';
|
|
7
|
-
import * as
|
|
6
|
+
import { AlignType, FormControlType, DynamicFormComponent, MenuComponent, IconButtonComponent, ModalComponent, SearchComponent, SelectComponent, LegendComponent } from '@ieeesa-npm/presentation';
|
|
7
|
+
import * as i3 from '@ieeesa-npm/utility';
|
|
8
8
|
import { AlertType, AlertsService, ModalType } from '@ieeesa-npm/utility';
|
|
9
9
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
10
|
-
import * as i1 from '@angular/material/dialog';
|
|
10
|
+
import * as i1$1 from '@angular/material/dialog';
|
|
11
11
|
import { MatDialogModule } from '@angular/material/dialog';
|
|
12
|
-
import { map, catchError, Subject, takeUntil } from 'rxjs';
|
|
12
|
+
import { map, catchError, Subject, takeUntil, BehaviorSubject, merge } from 'rxjs';
|
|
13
|
+
import { FlatTreeControl } from '@angular/cdk/tree';
|
|
14
|
+
import { takeUntil as takeUntil$1, map as map$1 } from 'rxjs/operators';
|
|
15
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
16
|
+
import * as i5 from '@angular/material/button';
|
|
17
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
18
|
+
import * as i2 from '@angular/material/tree';
|
|
19
|
+
import { MatTreeModule } from '@angular/material/tree';
|
|
13
20
|
|
|
14
21
|
var createGroup = {
|
|
15
22
|
heading: "New Group",
|
|
@@ -51,10 +58,6 @@ var createGroup = {
|
|
|
51
58
|
groupName: "Group Name contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
52
59
|
shortName: "Group Short Name contains invalid characters. Please enter '.',',' , '/', '-' , '_' only.",
|
|
53
60
|
groupScope: "Group Scope contains invalid characters. Please enter alphanumeric, special characters and whitespace only."
|
|
54
|
-
},
|
|
55
|
-
unique: {
|
|
56
|
-
"1001": "Group Name already in use.",
|
|
57
|
-
"1002": "Group Short Name already in use."
|
|
58
61
|
}
|
|
59
62
|
},
|
|
60
63
|
success: {
|
|
@@ -68,10 +71,90 @@ var createGroup = {
|
|
|
68
71
|
groupScope: "Enter a brief description for the scope of the group."
|
|
69
72
|
}
|
|
70
73
|
};
|
|
74
|
+
var viewGroups = {
|
|
75
|
+
legend: "Legends:",
|
|
76
|
+
addGroup: "Add Group",
|
|
77
|
+
groupsTitle: "Committees",
|
|
78
|
+
groupsDescription: " View Committees, sub Committees, work groups and task groups that work for NESC revision cycle process, as well as view roasters and member details for each of the groups and sub groups.",
|
|
79
|
+
filterByLabel: "Filter by",
|
|
80
|
+
createGroupIcon: "assets/images/sprites/sprites.svg#icon-create-group-white-bg",
|
|
81
|
+
filterGroupIcon: "assets/images/sprites/sprites.svg#icon-sort",
|
|
82
|
+
treePaddingIndent: 24,
|
|
83
|
+
placeholderText: {
|
|
84
|
+
search: "Search by Group Name/Abbreviation/Group Type/Scope",
|
|
85
|
+
filter: "Group Type"
|
|
86
|
+
},
|
|
87
|
+
ariaLabel: {
|
|
88
|
+
add: "Add Group",
|
|
89
|
+
filter: "Filter Group",
|
|
90
|
+
search: "Group Search"
|
|
91
|
+
},
|
|
92
|
+
buttons: [
|
|
93
|
+
{
|
|
94
|
+
id: 1,
|
|
95
|
+
ariaLabel: "View Roasters",
|
|
96
|
+
label: "View Roasters",
|
|
97
|
+
toolTip: "View/Manage Roster",
|
|
98
|
+
iconURL: "assets/images/sprites/sprites.svg#icon-roster"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: 2,
|
|
102
|
+
ariaLabel: "Create Sub Group",
|
|
103
|
+
label: "Create Sub Group",
|
|
104
|
+
toolTip: "Create Sub Group",
|
|
105
|
+
iconURL: "assets/images/sprites/sprites.svg#icon-create-group"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
id: 3,
|
|
109
|
+
ariaLabel: "Modify Group",
|
|
110
|
+
label: "Modify Group",
|
|
111
|
+
toolTip: "Edit Group",
|
|
112
|
+
iconURL: "assets/images/sprites/sprites.svg#icon-edit-group"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: 4,
|
|
116
|
+
ariaLabel: "Remove Group",
|
|
117
|
+
label: "Remove Group",
|
|
118
|
+
toolTip: "Delete Group",
|
|
119
|
+
iconURL: "assets/images/sprites/sprites.svg#icon-remove-group"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
id: 5,
|
|
123
|
+
ariaLabel: "Expand Group",
|
|
124
|
+
label: "Expand Group",
|
|
125
|
+
toolTip: "Expand Group",
|
|
126
|
+
iconURL: "assets/images/sprites/sprites.svg#icon-expand-collapse-plus"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: 6,
|
|
130
|
+
ariaLabel: "Collapse Group",
|
|
131
|
+
label: "Collapse Group",
|
|
132
|
+
toolTip: "Collapse Group",
|
|
133
|
+
iconURL: "assets/images/sprites/sprites.svg#icon-expand-collapse-minus"
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
};
|
|
137
|
+
var errors = {
|
|
138
|
+
"1001": "Group Name already in use.",
|
|
139
|
+
"1002": "Group Short Name already in use.",
|
|
140
|
+
"1010": "Group types are not found for the tenant or application!",
|
|
141
|
+
"1011": "Groups are not found for the selected group type!",
|
|
142
|
+
"1012": "Child groups are not found for the selected parent!"
|
|
143
|
+
};
|
|
71
144
|
var constants = {
|
|
72
|
-
createGroup: createGroup
|
|
145
|
+
createGroup: createGroup,
|
|
146
|
+
viewGroups: viewGroups,
|
|
147
|
+
errors: errors
|
|
73
148
|
};
|
|
74
149
|
|
|
150
|
+
var screenTexts = /*#__PURE__*/Object.freeze({
|
|
151
|
+
__proto__: null,
|
|
152
|
+
createGroup: createGroup,
|
|
153
|
+
default: constants,
|
|
154
|
+
errors: errors,
|
|
155
|
+
viewGroups: viewGroups
|
|
156
|
+
});
|
|
157
|
+
|
|
75
158
|
/* eslint-disable no-useless-escape */
|
|
76
159
|
const GroupsValidationPatterns = {
|
|
77
160
|
// Group Name field regular expression, which accept Alpha Numeric, Special Characters (ASCII) and whitespace.
|
|
@@ -85,12 +168,18 @@ const GroupsValidationPatterns = {
|
|
|
85
168
|
/**
|
|
86
169
|
* Groups service is an abstract layer and responsible for managing groups REST API calls.
|
|
87
170
|
* @class GroupsService
|
|
88
|
-
* @implements {OnDestroy}
|
|
89
171
|
*/
|
|
90
172
|
class GroupsService {
|
|
91
173
|
// eslint-disable-next-line no-empty-function, no-unused-vars
|
|
92
|
-
constructor(
|
|
174
|
+
constructor(
|
|
175
|
+
// eslint-disable-next-line no-unused-vars
|
|
176
|
+
httpService,
|
|
177
|
+
// eslint-disable-next-line no-unused-vars
|
|
178
|
+
alertService // eslint-disable-next-line no-empty-function
|
|
179
|
+
) {
|
|
93
180
|
this.httpService = httpService;
|
|
181
|
+
this.alertService = alertService;
|
|
182
|
+
this.groupsText = errors;
|
|
94
183
|
}
|
|
95
184
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
185
|
setAppConfig(apiBaseUrl, userPermission) {
|
|
@@ -112,6 +201,22 @@ class GroupsService {
|
|
|
112
201
|
throw error;
|
|
113
202
|
}));
|
|
114
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Returns all the groups based on passed group Id and group type.
|
|
206
|
+
* @param {GetGroupsPayload} getGroupsPayload
|
|
207
|
+
* @return {Observable<GetGroupResponse>}
|
|
208
|
+
* @memberof GroupsService
|
|
209
|
+
*/
|
|
210
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
211
|
+
getAllGroups(getGroupsPayload) {
|
|
212
|
+
return this.httpService
|
|
213
|
+
.getData(`${this.apiBaseUrl}/groups`, getGroupsPayload)
|
|
214
|
+
.pipe(map((response) => {
|
|
215
|
+
return response;
|
|
216
|
+
}), catchError((errorRes) => {
|
|
217
|
+
throw errorRes;
|
|
218
|
+
}));
|
|
219
|
+
}
|
|
115
220
|
/**
|
|
116
221
|
* Posts create group form data to server using HttpService for creating new group.
|
|
117
222
|
* @param {CreateGroupPayload} createGroupPayload -create group form data which includes group name, type, short name, scope.
|
|
@@ -128,15 +233,29 @@ class GroupsService {
|
|
|
128
233
|
throw error;
|
|
129
234
|
}));
|
|
130
235
|
}
|
|
131
|
-
|
|
132
|
-
|
|
236
|
+
/**
|
|
237
|
+
* This method will parse the error codes and return the respective error message for each code.
|
|
238
|
+
* @param {string[]} errorCodes
|
|
239
|
+
* @return {string[]} errorMessage
|
|
240
|
+
* @memberof GroupsService
|
|
241
|
+
*/
|
|
242
|
+
parseErrorMessage(errorCodes) {
|
|
243
|
+
const errorMessage = [];
|
|
244
|
+
errorCodes.forEach((item, index) => {
|
|
245
|
+
const errorMessageKey = errorCodes[index];
|
|
246
|
+
errorMessage.push(this.groupsText[errorMessageKey]);
|
|
247
|
+
});
|
|
248
|
+
return errorMessage;
|
|
249
|
+
}
|
|
250
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsService, deps: [{ token: i3.HttpService }, { token: i3.AlertsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
251
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsService, providedIn: 'root' }); }
|
|
133
252
|
}
|
|
134
253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsService, decorators: [{
|
|
135
254
|
type: Injectable,
|
|
136
255
|
args: [{
|
|
137
|
-
providedIn:
|
|
256
|
+
providedIn: 'root',
|
|
138
257
|
}]
|
|
139
|
-
}], ctorParameters: function () { return [{ type:
|
|
258
|
+
}], ctorParameters: function () { return [{ type: i3.HttpService }, { type: i3.AlertsService }]; } });
|
|
140
259
|
|
|
141
260
|
/**
|
|
142
261
|
* CreateGroupComponent uses DynamicFormComponent to build create new group form and implement the functionalities of submission of form and handling success and error scenarios.
|
|
@@ -315,7 +434,7 @@ class CreateGroupComponent {
|
|
|
315
434
|
payload: {
|
|
316
435
|
groupName: formResponse?.groupName,
|
|
317
436
|
groupShortName: formResponse?.shortName,
|
|
318
|
-
groupType: formResponse?.groupType?.
|
|
437
|
+
groupType: formResponse?.groupType?.id,
|
|
319
438
|
groupDesc: formResponse?.groupScope,
|
|
320
439
|
groupParentId: null,
|
|
321
440
|
},
|
|
@@ -332,13 +451,9 @@ class CreateGroupComponent {
|
|
|
332
451
|
error: (error) => {
|
|
333
452
|
const errorCodeArr = error?.error?.body?.errorCodes;
|
|
334
453
|
if (Array.isArray(errorCodeArr)) {
|
|
335
|
-
const errorMessage =
|
|
336
|
-
errorCodeArr.forEach((item, index) => {
|
|
337
|
-
const errorMessageKey = errorCodeArr[index];
|
|
338
|
-
errorMessage.push(this.createGroupText?.message?.error?.unique[errorMessageKey]);
|
|
339
|
-
});
|
|
454
|
+
const errorMessage = this.groupsService.parseErrorMessage(errorCodeArr);
|
|
340
455
|
this.alertService.showMessage({
|
|
341
|
-
status:
|
|
456
|
+
status: 'custom',
|
|
342
457
|
message: errorMessage,
|
|
343
458
|
alertType: AlertType.ERROR,
|
|
344
459
|
isCloseNeeded: true,
|
|
@@ -375,18 +490,422 @@ class CreateGroupComponent {
|
|
|
375
490
|
this.destroy$.next(true);
|
|
376
491
|
this.destroy$.unsubscribe();
|
|
377
492
|
}
|
|
378
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CreateGroupComponent, deps: [{ token: GroupsService }, { token:
|
|
379
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: CreateGroupComponent, isStandalone: true, selector: "ieeesa-create-group", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, providers: [AlertsService], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
493
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CreateGroupComponent, deps: [{ token: GroupsService }, { token: i3.GlobalErrorHandlerService }, { token: i3.AlertsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
494
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: CreateGroupComponent, isStandalone: true, selector: "ieeesa-create-group", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, providers: [AlertsService], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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.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:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.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", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange"], exportAs: ["dynamicForm"] }, { kind: "ngmodule", type: MatDialogModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
380
495
|
}
|
|
381
496
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CreateGroupComponent, decorators: [{
|
|
382
497
|
type: Component,
|
|
383
|
-
args: [{ selector: "ieeesa-create-group", standalone: true, imports: [CommonModule, DynamicFormComponent, MatDialogModule], encapsulation: ViewEncapsulation.None, providers: [AlertsService], template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"] }]
|
|
384
|
-
}], ctorParameters: function () { return [{ type: GroupsService }, { type:
|
|
498
|
+
args: [{ selector: "ieeesa-create-group", standalone: true, imports: [CommonModule, DynamicFormComponent, MatDialogModule], encapsulation: ViewEncapsulation.None, providers: [AlertsService], template: "<ieeesa-dynamic-form\r\n *ngIf=\"formGroup\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"isLegendVisible\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"formGroup\"\r\n [isLeftButtonNeeded]=\"isLeftButtonNeeded\"\r\n (formSubmit)=\"onFormSubmit($event)\"\r\n (formLeftButtonClicked)=\"createGroupCancelled()\"\r\n (formGroupsReference)=\"getFormGroupReference($event)\"\r\n></ieeesa-dynamic-form>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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.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:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-group .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:1.5em;padding:3em 1em .75em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding:0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-form-field{display:flex}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field .mat-mdc-text-field-wrapper{padding:.5em 1em}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-input-field__support-text,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__label,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-select-field__support-text{color:#49454f}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:40%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field{display:flex;width:43%}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .ieeesa-form-error--text{padding:.25em 1em 0}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .group-type .ieeesa-select-field .mat-mdc-form-field,.ieeesa-modal-dialog.ieeesa-create-group .ieeesa-modal .short-name .ieeesa-input-field .mat-mdc-form-field{width:100%}}\n"] }]
|
|
499
|
+
}], ctorParameters: function () { return [{ type: GroupsService }, { type: i3.GlobalErrorHandlerService }, { type: i3.AlertsService }]; }, propDecorators: { submitFormResponse: [{
|
|
385
500
|
type: Output
|
|
386
501
|
}], formCancel: [{
|
|
387
502
|
type: Output
|
|
388
503
|
}] } });
|
|
389
504
|
|
|
505
|
+
/* eslint-disable no-unused-vars */
|
|
506
|
+
var GroupAction;
|
|
507
|
+
(function (GroupAction) {
|
|
508
|
+
GroupAction[GroupAction["VIEW_ROSTER"] = 1] = "VIEW_ROSTER";
|
|
509
|
+
GroupAction[GroupAction["CREATE_SUB_GROUP"] = 2] = "CREATE_SUB_GROUP";
|
|
510
|
+
GroupAction[GroupAction["EDIT_GROUP"] = 3] = "EDIT_GROUP";
|
|
511
|
+
GroupAction[GroupAction["DELETE_GROUP"] = 4] = "DELETE_GROUP";
|
|
512
|
+
GroupAction[GroupAction["EXPAND_GROUP_VIEW"] = 5] = "EXPAND_GROUP_VIEW";
|
|
513
|
+
GroupAction[GroupAction["COLLAPSE_GROUP_VIEW"] = 6] = "COLLAPSE_GROUP_VIEW";
|
|
514
|
+
})(GroupAction || (GroupAction = {}));
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* Dynamic Flat node creates a node structure
|
|
518
|
+
* @export
|
|
519
|
+
* @class GroupNode
|
|
520
|
+
*/
|
|
521
|
+
class GroupNode {
|
|
522
|
+
constructor(
|
|
523
|
+
// eslint-disable-next-line no-unused-vars
|
|
524
|
+
item,
|
|
525
|
+
// eslint-disable-next-line no-unused-vars
|
|
526
|
+
level = 1,
|
|
527
|
+
// eslint-disable-next-line no-unused-vars
|
|
528
|
+
expandable = false,
|
|
529
|
+
// eslint-disable-next-line no-unused-vars
|
|
530
|
+
isLoading = false) {
|
|
531
|
+
this.item = item;
|
|
532
|
+
this.level = level;
|
|
533
|
+
this.expandable = expandable;
|
|
534
|
+
this.isLoading = isLoading;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Groups stores the parent nodes and child nodes
|
|
539
|
+
* @export
|
|
540
|
+
* @class Groups
|
|
541
|
+
*/
|
|
542
|
+
class Groups {
|
|
543
|
+
/**
|
|
544
|
+
* Get the Child groups info
|
|
545
|
+
* @return {*} {GroupInfo[]}
|
|
546
|
+
* @memberof Groups
|
|
547
|
+
*/
|
|
548
|
+
getChildGroupsInfo() {
|
|
549
|
+
return this.childGroups;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Sets the Child groups info
|
|
553
|
+
* @param {GroupInfo[]} value
|
|
554
|
+
* @memberof Groups
|
|
555
|
+
*/
|
|
556
|
+
setChildGroupsInfo(value) {
|
|
557
|
+
this.childGroups = value;
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* Initialize the groups data and creates the node structure for mat tree
|
|
561
|
+
* @param {GroupInfo[]} data
|
|
562
|
+
* @return {*} {GroupNode[]}
|
|
563
|
+
* @memberof Groups
|
|
564
|
+
*/
|
|
565
|
+
initialData(data) {
|
|
566
|
+
this.rootLevelNodes = data;
|
|
567
|
+
return this.rootLevelNodes.map((node) => new GroupNode(node, 0, this.isExpandable(node)));
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Checks the node is expandable or not
|
|
571
|
+
* @param {GroupInfo} node
|
|
572
|
+
* @return {*} {boolean}
|
|
573
|
+
* @memberof Groups
|
|
574
|
+
*/
|
|
575
|
+
isExpandable(node) {
|
|
576
|
+
return (!!node.children && node.children.length > 0) || node.hasChildren;
|
|
577
|
+
}
|
|
578
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: Groups, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
579
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: Groups, providedIn: 'root' }); }
|
|
580
|
+
}
|
|
581
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: Groups, decorators: [{
|
|
582
|
+
type: Injectable,
|
|
583
|
+
args: [{ providedIn: 'root' }]
|
|
584
|
+
}] });
|
|
585
|
+
/**
|
|
586
|
+
* Dynamic Data Source handles the connection with dynamic data base
|
|
587
|
+
* @export
|
|
588
|
+
* @class GroupsDataSource
|
|
589
|
+
* @implements {DataSource<GroupNode>}
|
|
590
|
+
*/
|
|
591
|
+
class GroupsDataSource {
|
|
592
|
+
/**
|
|
593
|
+
* Gets the updated tree control data
|
|
594
|
+
* @type {GroupNode[]}
|
|
595
|
+
* @memberof GroupsDataSource
|
|
596
|
+
*/
|
|
597
|
+
get data() {
|
|
598
|
+
return this.dataChange.value;
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* Sets the data to tree control and emit the value to intimate the data change
|
|
602
|
+
* @memberof GroupsDataSource
|
|
603
|
+
*/
|
|
604
|
+
set data(value) {
|
|
605
|
+
this.treeControl.dataNodes = value;
|
|
606
|
+
this.dataChange.next(value);
|
|
607
|
+
}
|
|
608
|
+
constructor(
|
|
609
|
+
// eslint-disable-next-line no-unused-vars
|
|
610
|
+
treeControl,
|
|
611
|
+
// eslint-disable-next-line no-unused-vars
|
|
612
|
+
database // eslint-disable-next-line no-empty-function
|
|
613
|
+
) {
|
|
614
|
+
this.treeControl = treeControl;
|
|
615
|
+
this.database = database;
|
|
616
|
+
this.destroy$ = new Subject();
|
|
617
|
+
this.dataChange = new BehaviorSubject([]);
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Handles the connection between the data base and mat tree
|
|
621
|
+
* @param {CollectionViewer} collectionViewer
|
|
622
|
+
* @return {*} {Observable<GroupNode[]>}
|
|
623
|
+
* @memberof GroupsDataSource
|
|
624
|
+
*/
|
|
625
|
+
connect(collectionViewer) {
|
|
626
|
+
this.treeControl.expansionModel.changed
|
|
627
|
+
.pipe(takeUntil$1(this.destroy$))
|
|
628
|
+
.subscribe((change) => {
|
|
629
|
+
if (change.added ||
|
|
630
|
+
change.removed) {
|
|
631
|
+
this.handleTreeControl(change);
|
|
632
|
+
}
|
|
633
|
+
});
|
|
634
|
+
return merge(collectionViewer.viewChange, this.dataChange).pipe(map$1(() => this.data));
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* Disconnect the connection with mat tree
|
|
638
|
+
* @param {CollectionViewer} collectionViewer
|
|
639
|
+
* @memberof GroupsDataSource
|
|
640
|
+
*/
|
|
641
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function, no-empty-function, no-unused-vars, @typescript-eslint/no-unused-vars
|
|
642
|
+
disconnect(collectionViewer) {
|
|
643
|
+
this.destroy$.next(true);
|
|
644
|
+
this.destroy$.unsubscribe();
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* Adds/removes the child nodes while expands/collapses the parent node
|
|
648
|
+
* @param {SelectionChange<GroupNode>} change
|
|
649
|
+
* @memberof GroupsDataSource
|
|
650
|
+
*/
|
|
651
|
+
handleTreeControl(change) {
|
|
652
|
+
if (change.added) {
|
|
653
|
+
change.added.forEach((node) => this.toggleNode(node, true));
|
|
654
|
+
}
|
|
655
|
+
if (change.removed) {
|
|
656
|
+
change.removed
|
|
657
|
+
.slice()
|
|
658
|
+
.reverse()
|
|
659
|
+
.forEach((node) => this.toggleNode(node, false));
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Toggle the node, add/removes the node from display
|
|
664
|
+
* @param {GroupNode} clickedNode
|
|
665
|
+
* @param {boolean} expand
|
|
666
|
+
* @return {*}
|
|
667
|
+
* @memberof GroupsDataSource
|
|
668
|
+
*/
|
|
669
|
+
toggleNode(clickedNode, expand) {
|
|
670
|
+
const children = this.database.getChildGroupsInfo();
|
|
671
|
+
const index = this.data.indexOf(clickedNode);
|
|
672
|
+
if (!children || index < 0) {
|
|
673
|
+
// If no children, or cannot find the node, no op
|
|
674
|
+
return;
|
|
675
|
+
}
|
|
676
|
+
if (expand) {
|
|
677
|
+
const nodes = children.map((node) => new GroupNode(node, clickedNode.level + 1, this.database.isExpandable(node)));
|
|
678
|
+
this.data.splice(index + 1, 0, ...nodes);
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
let count = 0;
|
|
682
|
+
for (let i = index + 1; i < this.data.length && this.data[i].level > clickedNode.level; i++, count++ // eslint-disable-next-line no-empty
|
|
683
|
+
) { }
|
|
684
|
+
this.data.splice(index + 1, count);
|
|
685
|
+
}
|
|
686
|
+
// Notify the change
|
|
687
|
+
this.dataChange.next(this.data);
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Displays the groups where parent/child relationships are represented in a tree view/hierarchy.
|
|
692
|
+
* @export
|
|
693
|
+
* @class TreeViewComponent
|
|
694
|
+
* @implements {OnInit}
|
|
695
|
+
*/
|
|
696
|
+
class TreeViewComponent {
|
|
697
|
+
set parentGroupsInfo(value) {
|
|
698
|
+
this.parentGroups = value;
|
|
699
|
+
}
|
|
700
|
+
get parentGroupsInfo() {
|
|
701
|
+
return this.parentGroups;
|
|
702
|
+
}
|
|
703
|
+
set childGroupsInfo(value) {
|
|
704
|
+
this.childGroups = value;
|
|
705
|
+
this.loadChildGroups();
|
|
706
|
+
}
|
|
707
|
+
get childGroupsInfo() {
|
|
708
|
+
return this.childGroups;
|
|
709
|
+
}
|
|
710
|
+
set isGroupSearchOrFilterActive(value) {
|
|
711
|
+
this.isGroupSearchOrFilter = value;
|
|
712
|
+
}
|
|
713
|
+
get isGroupSearchOrFilterActive() {
|
|
714
|
+
return this.isGroupSearchOrFilter;
|
|
715
|
+
}
|
|
716
|
+
set deleteGroupInfo(id) {
|
|
717
|
+
this.deleteGroup = id;
|
|
718
|
+
this.deleteGroupNode(this.deleteGroup);
|
|
719
|
+
}
|
|
720
|
+
get deleteGroupInfo() {
|
|
721
|
+
return this.deleteGroup;
|
|
722
|
+
}
|
|
723
|
+
// eslint-disable-next-line no-unused-vars, no-empty-function
|
|
724
|
+
constructor(database) {
|
|
725
|
+
this.database = database;
|
|
726
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
727
|
+
this.constants = screenTexts;
|
|
728
|
+
this.buttons = this.constants?.viewGroups?.buttons;
|
|
729
|
+
this.treePaddingIndent = this.constants?.viewGroups?.treePaddingIndent;
|
|
730
|
+
this.plusCircleIconButton = this.buttons[4];
|
|
731
|
+
this.minusCircleIconButton = this.buttons[5];
|
|
732
|
+
this.menuItems = this.buttons.filter((e) => e.id !== GroupAction.EXPAND_GROUP_VIEW &&
|
|
733
|
+
e.id !== GroupAction.COLLAPSE_GROUP_VIEW);
|
|
734
|
+
this.isGroupSearchOrFilter = false;
|
|
735
|
+
this.toggleGroupClick = new EventEmitter();
|
|
736
|
+
this.createGroupClick = new EventEmitter();
|
|
737
|
+
this.editGroupClick = new EventEmitter();
|
|
738
|
+
this.deleteGroupClick = new EventEmitter();
|
|
739
|
+
/**
|
|
740
|
+
* Gets the level of the node
|
|
741
|
+
* @param {GroupNode} node
|
|
742
|
+
* @memberof TreeViewComponent
|
|
743
|
+
*/
|
|
744
|
+
this.getLevel = (node) => node.level;
|
|
745
|
+
/**
|
|
746
|
+
* Checks the node is expandable or not
|
|
747
|
+
* @param {GroupNode} node
|
|
748
|
+
* @memberof TreeViewComponent
|
|
749
|
+
*/
|
|
750
|
+
this.isExpandable = (node) => node.expandable;
|
|
751
|
+
/**
|
|
752
|
+
* Returns true if passed node has children otherwise false
|
|
753
|
+
* @param {number} index
|
|
754
|
+
* @param {GroupNode} node
|
|
755
|
+
* @return {boolean}
|
|
756
|
+
* @memberof TreeViewComponent
|
|
757
|
+
*/
|
|
758
|
+
this.hasChildGroups = (index, _nodeData) => _nodeData.expandable;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Initializes the datSource with parent groups data
|
|
762
|
+
* @memberof TreeViewComponent
|
|
763
|
+
*/
|
|
764
|
+
ngOnInit() {
|
|
765
|
+
this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);
|
|
766
|
+
this.dataSource = new GroupsDataSource(this.treeControl, this.database);
|
|
767
|
+
this.dataSource.data = this.database.initialData(this.parentGroupsInfo);
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* Emits the group info when the toggle group is clicked or toggles the group view
|
|
771
|
+
* @param {GroupNode} group
|
|
772
|
+
* @memberof TreeViewComponent
|
|
773
|
+
*/
|
|
774
|
+
viewChildGroups(node) {
|
|
775
|
+
if (!node.item.hasChildren) {
|
|
776
|
+
return;
|
|
777
|
+
}
|
|
778
|
+
if (this.treeControl.isExpanded(node)) {
|
|
779
|
+
this.treeControl.toggle(node);
|
|
780
|
+
}
|
|
781
|
+
else {
|
|
782
|
+
this.toggleGroupClick.emit(node.item);
|
|
783
|
+
this.selectedGroup = node;
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* Sets the box shadow based on the group type legend color
|
|
788
|
+
* @param {string} color
|
|
789
|
+
* @return {*}
|
|
790
|
+
* @memberof TreeViewComponent
|
|
791
|
+
*/
|
|
792
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
793
|
+
getBoxShadow(color) {
|
|
794
|
+
return {
|
|
795
|
+
boxShadow: '0px 1px 0px 0px #c9cbd0 inset, 6px 0px 0px 0px ' + color + ' inset',
|
|
796
|
+
};
|
|
797
|
+
}
|
|
798
|
+
/**
|
|
799
|
+
* Loads the child groups and updates the tree view.
|
|
800
|
+
* @memberof TreeViewComponent
|
|
801
|
+
*/
|
|
802
|
+
loadChildGroups() {
|
|
803
|
+
this.database.setChildGroupsInfo(this.childGroupsInfo);
|
|
804
|
+
if (this.selectedGroup)
|
|
805
|
+
this.treeControl.toggle(this.selectedGroup);
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* Delete Group and updates the tree view.
|
|
809
|
+
* @param {string} id
|
|
810
|
+
* @memberof TreeViewComponent
|
|
811
|
+
*/
|
|
812
|
+
deleteGroupNode(id) {
|
|
813
|
+
if (this.treeControl) {
|
|
814
|
+
const updatedData = this.treeControl.dataNodes.filter((e) => e.item.groupId !== id);
|
|
815
|
+
this.dataSource.data = updatedData;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
/**
|
|
819
|
+
* Sets the selected menu group action
|
|
820
|
+
* @param {Menu} menu
|
|
821
|
+
* @memberof TreeViewComponent
|
|
822
|
+
*/
|
|
823
|
+
onGroupActionsClick(menu) {
|
|
824
|
+
this.selectedGroupAction = menu;
|
|
825
|
+
}
|
|
826
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
827
|
+
/**
|
|
828
|
+
* Changes the expand/collapse icon based on the toggle
|
|
829
|
+
* @param {GroupNode} group
|
|
830
|
+
* @return {*} {*}
|
|
831
|
+
* @memberof TreeViewComponent
|
|
832
|
+
*/
|
|
833
|
+
getToggleButtonInfo(group) {
|
|
834
|
+
if (this.treeControl.isExpanded(group))
|
|
835
|
+
return this.minusCircleIconButton;
|
|
836
|
+
return this.plusCircleIconButton;
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* Handles the emitted group actions event
|
|
840
|
+
* @param {GroupInfo} group
|
|
841
|
+
* @memberof TreeViewComponent
|
|
842
|
+
*/
|
|
843
|
+
handleGroupActions(group) {
|
|
844
|
+
if (this.selectedGroupAction?.id === GroupAction.VIEW_ROSTER) {
|
|
845
|
+
this.viewChildGroups(group);
|
|
846
|
+
}
|
|
847
|
+
else if (this.selectedGroupAction?.id === GroupAction.CREATE_SUB_GROUP) {
|
|
848
|
+
this.createGroupClick.emit(group.item);
|
|
849
|
+
}
|
|
850
|
+
else if (this.selectedGroupAction?.id === GroupAction.EDIT_GROUP) {
|
|
851
|
+
this.editGroupClick.emit(group.item);
|
|
852
|
+
}
|
|
853
|
+
else if (this.selectedGroupAction?.id === GroupAction.DELETE_GROUP) {
|
|
854
|
+
this.deleteGroupClick.emit(group.item);
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* Returns the filtered menu items based on groups hasChildren.
|
|
859
|
+
* @param {GroupNode} group
|
|
860
|
+
* @return {Menu[]}
|
|
861
|
+
* @memberof TreeViewComponent
|
|
862
|
+
*/
|
|
863
|
+
getFilteredGroupActions(group) {
|
|
864
|
+
this.menuItems.forEach((e) => (e.isToolTipNeeded = false));
|
|
865
|
+
return this.menuItems.filter((e) => (e.id !== GroupAction.DELETE_GROUP && group.item.hasChildren) ||
|
|
866
|
+
(e.id !== GroupAction.CREATE_SUB_GROUP && !group.item.hasChildren));
|
|
867
|
+
}
|
|
868
|
+
/**
|
|
869
|
+
* Takes the index and the icon button as arguments and needs to return the unique identifier for this icon button.
|
|
870
|
+
* @param {number} index
|
|
871
|
+
* @param {IconButton} iconButton
|
|
872
|
+
* @return {number}
|
|
873
|
+
* @memberof TreeViewComponent
|
|
874
|
+
*/
|
|
875
|
+
trackByFn(index, iconButton) {
|
|
876
|
+
return iconButton.id;
|
|
877
|
+
}
|
|
878
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: TreeViewComponent, deps: [{ token: Groups }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
879
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: TreeViewComponent, isStandalone: true, selector: "ieeesa-tree", inputs: { parentGroupsInfo: "parentGroupsInfo", childGroupsInfo: "childGroupsInfo", isGroupSearchOrFilterActive: "isGroupSearchOrFilterActive", deleteGroupInfo: "deleteGroupInfo" }, outputs: { toggleGroupClick: "toggleGroupClick", createGroupClick: "createGroupClick", editGroupClick: "editGroupClick", deleteGroupClick: "deleteGroupClick" }, ngImport: i0, template: "<div class=\"ieeesa-tree\">\r\n <mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"ieeesa-tree__root\"\r\n #rootSelector\r\n >\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"treePaddingIndent\"\r\n >\r\n <div\r\n class=\"ieeesa-tree__node w-100 d-flex justify-content-between gap-3 my-0\"\r\n [ngStyle]=\"getBoxShadow(node.item.groupTypeInfo.legendColor)\"\r\n >\r\n <div class=\"d-flex gap-3\">\r\n <div\r\n [ngClass]=\"\r\n !isGroupSearchOrFilterActive ? 'ieeesa-tree__collapse-icon' : ''\r\n \"\r\n ></div>\r\n <div>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupInfoOutlet;\r\n context: { $implicit: node }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ieeesa-menu\r\n [menuItems]=\"getFilteredGroupActions(node)\"\r\n (menuItemClick)=\"\r\n onGroupActionsClick($event); handleGroupActions(node)\r\n \"\r\n class=\"d-lg-none d-md-none d-sm-none\"\r\n ></ieeesa-menu>\r\n <div class=\"d-none gap-3 d-sm-flex d-md-flex d-lg-flex\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupActionsOutlet;\r\n context: { $implicit: node }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChildGroups\"\r\n matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"treePaddingIndent\"\r\n >\r\n <div\r\n [ngClass]=\"\r\n treeControl.isExpanded(node)\r\n ? 'ieeesa-tree__root-node-white-bg'\r\n : 'ieeesa-tree__root-node'\r\n \"\r\n class=\"ieeesa-tree__node w-100 d-flex my-0 gap-3\"\r\n [ngStyle]=\"getBoxShadow(node.item.groupTypeInfo.legendColor)\"\r\n >\r\n <div>\r\n <ieeesa-icon-button\r\n *ngIf=\"!isGroupSearchOrFilterActive\"\r\n (iconButtonClick)=\"viewChildGroups(node)\"\r\n [iconButton]=\"getToggleButtonInfo(node)\"\r\n ></ieeesa-icon-button>\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupInfoOutlet;\r\n context: { $implicit: node }\r\n \"\r\n ></ng-container>\r\n <div class=\"d-flex d-none gap-3 d-sm-flex d-md-flex d-lg-flex\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupActionsOutlet;\r\n context: { $implicit: node }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <ieeesa-menu\r\n [menuItems]=\"getFilteredGroupActions(node)\"\r\n (menuItemClick)=\"\r\n onGroupActionsClick($event); handleGroupActions(node)\r\n \"\r\n class=\"d-lg-none d-md-none d-sm-none\"\r\n ></ieeesa-menu>\r\n </div>\r\n </mat-tree-node>\r\n <ng-template #ieeesaGroupInfoOutlet let-node>\r\n <div class=\"w-100\">\r\n <div\r\n class=\"ieeesa-tree__group-info d-flex flex-column flex-sm-row flex-md-row flex-lg-row align-items-start align-items-sm-center align-items-md-center align-items-lg-center gap-2 mb-1\"\r\n >\r\n <p class=\"ieeesa-tree__node-group-name ieeesa-headline-sm-26\">\r\n {{ node.item.groupName }}\r\n </p>\r\n <p class=\"ieeesa-tree__node-group-acronym ieeesa-title-lg-24\">\r\n {{ node.item.groupAcronym }}\r\n </p>\r\n </div>\r\n <div class=\"ieeesa-body-md-16 ieeesa-tree__node-group-desc\">\r\n {{ node.item.groupTypeInfo.description }}\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #ieeesaGroupActionsOutlet let-node>\r\n <ieeesa-icon-button\r\n *ngFor=\"let item of getFilteredGroupActions(node); trackBy: trackByFn\"\r\n [iconButton]=\"item\"\r\n (iconButtonClick)=\"\r\n onGroupActionsClick($event); handleGroupActions(node)\r\n \"\r\n >\r\n </ieeesa-icon-button>\r\n </ng-template>\r\n </mat-tree>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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.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:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-tree p{margin-bottom:0}.ieeesa-tree__node-group-acronym{color:#63666a}.ieeesa-tree__node-group-desc{color:#9ba0a6}.ieeesa-tree__node{background:#f4f8fe;padding:.75em 1.5em .75em 1.125em}.ieeesa-tree__root-node-white-bg{background:#ffffff;box-shadow:0 1px #00b5e2 inset,6px 0 #379dfc inset}.ieeesa-tree__collapse-icon{width:3.5em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i2.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i2.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "component", type: i2.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i2.MatTreeNode, selector: "mat-tree-node", inputs: ["role", "disabled", "tabIndex"], exportAs: ["matTreeNode"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: MenuComponent, selector: "ieeesa-menu", inputs: ["menuItems"], outputs: ["menuItemClick"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton"], outputs: ["iconButtonClick"] }] }); }
|
|
880
|
+
}
|
|
881
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: TreeViewComponent, decorators: [{
|
|
882
|
+
type: Component,
|
|
883
|
+
args: [{ selector: 'ieeesa-tree', standalone: true, imports: [
|
|
884
|
+
CommonModule,
|
|
885
|
+
MatTreeModule,
|
|
886
|
+
MatIconModule,
|
|
887
|
+
MatButtonModule,
|
|
888
|
+
MenuComponent,
|
|
889
|
+
IconButtonComponent,
|
|
890
|
+
], template: "<div class=\"ieeesa-tree\">\r\n <mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"ieeesa-tree__root\"\r\n #rootSelector\r\n >\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"treePaddingIndent\"\r\n >\r\n <div\r\n class=\"ieeesa-tree__node w-100 d-flex justify-content-between gap-3 my-0\"\r\n [ngStyle]=\"getBoxShadow(node.item.groupTypeInfo.legendColor)\"\r\n >\r\n <div class=\"d-flex gap-3\">\r\n <div\r\n [ngClass]=\"\r\n !isGroupSearchOrFilterActive ? 'ieeesa-tree__collapse-icon' : ''\r\n \"\r\n ></div>\r\n <div>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupInfoOutlet;\r\n context: { $implicit: node }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </div>\r\n <ieeesa-menu\r\n [menuItems]=\"getFilteredGroupActions(node)\"\r\n (menuItemClick)=\"\r\n onGroupActionsClick($event); handleGroupActions(node)\r\n \"\r\n class=\"d-lg-none d-md-none d-sm-none\"\r\n ></ieeesa-menu>\r\n <div class=\"d-none gap-3 d-sm-flex d-md-flex d-lg-flex\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupActionsOutlet;\r\n context: { $implicit: node }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </div>\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChildGroups\"\r\n matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"treePaddingIndent\"\r\n >\r\n <div\r\n [ngClass]=\"\r\n treeControl.isExpanded(node)\r\n ? 'ieeesa-tree__root-node-white-bg'\r\n : 'ieeesa-tree__root-node'\r\n \"\r\n class=\"ieeesa-tree__node w-100 d-flex my-0 gap-3\"\r\n [ngStyle]=\"getBoxShadow(node.item.groupTypeInfo.legendColor)\"\r\n >\r\n <div>\r\n <ieeesa-icon-button\r\n *ngIf=\"!isGroupSearchOrFilterActive\"\r\n (iconButtonClick)=\"viewChildGroups(node)\"\r\n [iconButton]=\"getToggleButtonInfo(node)\"\r\n ></ieeesa-icon-button>\r\n </div>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupInfoOutlet;\r\n context: { $implicit: node }\r\n \"\r\n ></ng-container>\r\n <div class=\"d-flex d-none gap-3 d-sm-flex d-md-flex d-lg-flex\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n ieeesaGroupActionsOutlet;\r\n context: { $implicit: node }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <ieeesa-menu\r\n [menuItems]=\"getFilteredGroupActions(node)\"\r\n (menuItemClick)=\"\r\n onGroupActionsClick($event); handleGroupActions(node)\r\n \"\r\n class=\"d-lg-none d-md-none d-sm-none\"\r\n ></ieeesa-menu>\r\n </div>\r\n </mat-tree-node>\r\n <ng-template #ieeesaGroupInfoOutlet let-node>\r\n <div class=\"w-100\">\r\n <div\r\n class=\"ieeesa-tree__group-info d-flex flex-column flex-sm-row flex-md-row flex-lg-row align-items-start align-items-sm-center align-items-md-center align-items-lg-center gap-2 mb-1\"\r\n >\r\n <p class=\"ieeesa-tree__node-group-name ieeesa-headline-sm-26\">\r\n {{ node.item.groupName }}\r\n </p>\r\n <p class=\"ieeesa-tree__node-group-acronym ieeesa-title-lg-24\">\r\n {{ node.item.groupAcronym }}\r\n </p>\r\n </div>\r\n <div class=\"ieeesa-body-md-16 ieeesa-tree__node-group-desc\">\r\n {{ node.item.groupTypeInfo.description }}\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #ieeesaGroupActionsOutlet let-node>\r\n <ieeesa-icon-button\r\n *ngFor=\"let item of getFilteredGroupActions(node); trackBy: trackByFn\"\r\n [iconButton]=\"item\"\r\n (iconButtonClick)=\"\r\n onGroupActionsClick($event); handleGroupActions(node)\r\n \"\r\n >\r\n </ieeesa-icon-button>\r\n </ng-template>\r\n </mat-tree>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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.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:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-tree p{margin-bottom:0}.ieeesa-tree__node-group-acronym{color:#63666a}.ieeesa-tree__node-group-desc{color:#9ba0a6}.ieeesa-tree__node{background:#f4f8fe;padding:.75em 1.5em .75em 1.125em}.ieeesa-tree__root-node-white-bg{background:#ffffff;box-shadow:0 1px #00b5e2 inset,6px 0 #379dfc inset}.ieeesa-tree__collapse-icon{width:3.5em}\n"] }]
|
|
891
|
+
}], ctorParameters: function () { return [{ type: Groups }]; }, propDecorators: { parentGroupsInfo: [{
|
|
892
|
+
type: Input
|
|
893
|
+
}], childGroupsInfo: [{
|
|
894
|
+
type: Input
|
|
895
|
+
}], isGroupSearchOrFilterActive: [{
|
|
896
|
+
type: Input
|
|
897
|
+
}], deleteGroupInfo: [{
|
|
898
|
+
type: Input
|
|
899
|
+
}], toggleGroupClick: [{
|
|
900
|
+
type: Output
|
|
901
|
+
}], createGroupClick: [{
|
|
902
|
+
type: Output
|
|
903
|
+
}], editGroupClick: [{
|
|
904
|
+
type: Output
|
|
905
|
+
}], deleteGroupClick: [{
|
|
906
|
+
type: Output
|
|
907
|
+
}] } });
|
|
908
|
+
|
|
390
909
|
/* eslint-disable no-unused-vars */
|
|
391
910
|
var GroupFunctionType;
|
|
392
911
|
(function (GroupFunctionType) {
|
|
@@ -405,13 +924,60 @@ class GroupsComponent {
|
|
|
405
924
|
// eslint-disable-next-line no-unused-vars
|
|
406
925
|
groupsService,
|
|
407
926
|
// eslint-disable-next-line no-unused-vars
|
|
408
|
-
alertService
|
|
409
|
-
|
|
927
|
+
alertService,
|
|
928
|
+
// eslint-disable-next-line no-unused-vars
|
|
929
|
+
breakpointObserverService,
|
|
930
|
+
// eslint-disable-next-line no-unused-vars
|
|
931
|
+
globalErrorHandlerService) {
|
|
410
932
|
this.dialog = dialog;
|
|
411
933
|
this.groupsService = groupsService;
|
|
412
934
|
this.alertService = alertService;
|
|
935
|
+
this.breakpointObserverService = breakpointObserverService;
|
|
936
|
+
this.globalErrorHandlerService = globalErrorHandlerService;
|
|
413
937
|
this.destroy$ = new Subject();
|
|
938
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
939
|
+
this.constants = screenTexts;
|
|
940
|
+
this.viewGroupTexts = this.constants?.viewGroups;
|
|
941
|
+
this.isGroupSearchActive = false;
|
|
942
|
+
this.isGroupFilterActive = false;
|
|
943
|
+
this.isGroupSearchOrFilterActive = false;
|
|
944
|
+
this.isMobileView = false;
|
|
945
|
+
this.searchPlaceHolderText = this.viewGroupTexts?.placeholderText?.search;
|
|
946
|
+
this.filterPlaceHolderText = this.viewGroupTexts?.placeholderText?.filter;
|
|
947
|
+
this.createGroupIcon = {
|
|
948
|
+
id: 1,
|
|
949
|
+
ariaLabel: this.viewGroupTexts?.ariaLabel.create,
|
|
950
|
+
iconURL: this.viewGroupTexts?.createGroupIcon,
|
|
951
|
+
toolTip: this.viewGroupTexts?.ariaLabel.create,
|
|
952
|
+
};
|
|
953
|
+
this.filterGroupIcon = {
|
|
954
|
+
id: 2,
|
|
955
|
+
ariaLabel: this.viewGroupTexts?.ariaLabel.filter,
|
|
956
|
+
iconURL: this.viewGroupTexts?.filterGroupIcon,
|
|
957
|
+
toolTip: this.viewGroupTexts?.ariaLabel.filter,
|
|
958
|
+
};
|
|
959
|
+
this.groupsLegends = [];
|
|
960
|
+
this.getGroupsPayload = [
|
|
961
|
+
{
|
|
962
|
+
key: 'groupId',
|
|
963
|
+
value: '',
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
key: 'groupType',
|
|
967
|
+
value: '',
|
|
968
|
+
},
|
|
969
|
+
];
|
|
970
|
+
this.groupsPageInfo = {
|
|
971
|
+
groupsTitle: this.viewGroupTexts?.groupsTitle,
|
|
972
|
+
groupsDescription: this.viewGroupTexts?.groupsDescription,
|
|
973
|
+
};
|
|
414
974
|
this.createGroupText = createGroup;
|
|
975
|
+
this.breakpointObserverService
|
|
976
|
+
.getBreakpoint()
|
|
977
|
+
.pipe(takeUntil(this.destroy$))
|
|
978
|
+
.subscribe((result) => {
|
|
979
|
+
this.isMobileView = result.matches;
|
|
980
|
+
});
|
|
415
981
|
}
|
|
416
982
|
/**
|
|
417
983
|
* Initialize the groups component.
|
|
@@ -420,6 +986,8 @@ class GroupsComponent {
|
|
|
420
986
|
*/
|
|
421
987
|
ngOnInit() {
|
|
422
988
|
this.groupsService.setAppConfig(this.apiBaseURL, this.permissions);
|
|
989
|
+
this.getGroupTypes();
|
|
990
|
+
this.getGroups();
|
|
423
991
|
}
|
|
424
992
|
/**
|
|
425
993
|
* Sets the dialog options for create group modal and calls openModal method.
|
|
@@ -434,7 +1002,7 @@ class GroupsComponent {
|
|
|
434
1002
|
modalType: ModalType.FORM,
|
|
435
1003
|
};
|
|
436
1004
|
this.functionType = GroupFunctionType.CREATE;
|
|
437
|
-
this.openModal(dialogOptions,
|
|
1005
|
+
this.openModal(dialogOptions, 'ieeesa-create-group');
|
|
438
1006
|
}
|
|
439
1007
|
/**
|
|
440
1008
|
* Opens modal component with for received params and handles form submission success and errors.
|
|
@@ -445,11 +1013,11 @@ class GroupsComponent {
|
|
|
445
1013
|
*/
|
|
446
1014
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-inferrable-types
|
|
447
1015
|
openModal(dialogOptions, className) {
|
|
448
|
-
className = className ??
|
|
1016
|
+
className = className ?? '';
|
|
449
1017
|
this.dialogRef = this.dialog.open(ModalComponent, {
|
|
450
1018
|
data: dialogOptions,
|
|
451
|
-
width:
|
|
452
|
-
panelClass: [
|
|
1019
|
+
width: 'auto',
|
|
1020
|
+
panelClass: ['ieeesa-modal-dialog', className],
|
|
453
1021
|
ariaModal: true,
|
|
454
1022
|
});
|
|
455
1023
|
this.dialogRef?.componentInstance?.submitFormResponse
|
|
@@ -459,7 +1027,7 @@ class GroupsComponent {
|
|
|
459
1027
|
this.dialogRef.close();
|
|
460
1028
|
if (this.functionType === GroupFunctionType.CREATE) {
|
|
461
1029
|
this.alertService.showMessage({
|
|
462
|
-
status:
|
|
1030
|
+
status: 'custom',
|
|
463
1031
|
alertType: AlertType.SUCCESS,
|
|
464
1032
|
isCloseNeeded: true,
|
|
465
1033
|
message: this.createGroupText?.message?.success?.submission,
|
|
@@ -472,6 +1040,168 @@ class GroupsComponent {
|
|
|
472
1040
|
this.dialogRef.close();
|
|
473
1041
|
});
|
|
474
1042
|
}
|
|
1043
|
+
/**
|
|
1044
|
+
* Shows the search field on click of search icon in case of mobile view
|
|
1045
|
+
* @memberof GroupsComponent
|
|
1046
|
+
*/
|
|
1047
|
+
onGroupSearch() {
|
|
1048
|
+
this.isGroupSearchActive = true;
|
|
1049
|
+
this.isGroupFilterActive = false;
|
|
1050
|
+
}
|
|
1051
|
+
/**
|
|
1052
|
+
* Shows the Filter by dropdown options on click of filter icon in case of mobile view
|
|
1053
|
+
* @memberof GroupsComponent
|
|
1054
|
+
*/
|
|
1055
|
+
showGroupFilter() {
|
|
1056
|
+
this.isGroupFilterActive = true;
|
|
1057
|
+
this.isGroupSearchActive = false;
|
|
1058
|
+
}
|
|
1059
|
+
/**
|
|
1060
|
+
* Sets isGroupSearchOrFilterActive to true and loads the groups those are configured with selected group type.
|
|
1061
|
+
* @param {string} searchTerm
|
|
1062
|
+
* @memberof GroupsComponent
|
|
1063
|
+
*/
|
|
1064
|
+
onGroupSearchClick(searchTerm) {
|
|
1065
|
+
this.isGroupSearchOrFilterActive = !!searchTerm;
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* Sets select group type options from groupTypes response
|
|
1069
|
+
* @return {*} {SelectOption[]}
|
|
1070
|
+
* @memberof GroupsComponent
|
|
1071
|
+
*/
|
|
1072
|
+
getGroupTypeOptions() {
|
|
1073
|
+
this.legendColor();
|
|
1074
|
+
const groupTypeOptions = [];
|
|
1075
|
+
Object.entries(this.groupTypes).forEach((node) => {
|
|
1076
|
+
groupTypeOptions.push({ id: node[0], name: node[1].name });
|
|
1077
|
+
});
|
|
1078
|
+
return groupTypeOptions;
|
|
1079
|
+
}
|
|
1080
|
+
/**
|
|
1081
|
+
* Sets legend color from groupTypes response
|
|
1082
|
+
* @memberof GroupsComponent
|
|
1083
|
+
*/
|
|
1084
|
+
legendColor() {
|
|
1085
|
+
Object.entries(this.groupTypes).forEach((node) => {
|
|
1086
|
+
this.groupsLegends.push({
|
|
1087
|
+
color: node[1].legendColor,
|
|
1088
|
+
label: node[1].name,
|
|
1089
|
+
});
|
|
1090
|
+
});
|
|
1091
|
+
}
|
|
1092
|
+
/**
|
|
1093
|
+
* Sets the isGroupSearchOrFilterActive flag and loads parent group info as per selected filter option.
|
|
1094
|
+
* @param {SelectOption} event
|
|
1095
|
+
* @memberof GroupsComponent
|
|
1096
|
+
*/
|
|
1097
|
+
onGroupTypeFiltered(event) {
|
|
1098
|
+
this.selectedGroupType = event;
|
|
1099
|
+
this.isGroupSearchOrFilterActive = true;
|
|
1100
|
+
this.getGroupsPayload = [
|
|
1101
|
+
{
|
|
1102
|
+
key: 'groupId',
|
|
1103
|
+
value: '',
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
key: 'groupType',
|
|
1107
|
+
value: this.selectedGroupType?.id,
|
|
1108
|
+
},
|
|
1109
|
+
];
|
|
1110
|
+
this.getGroups();
|
|
1111
|
+
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Loads all the parent groups information.
|
|
1114
|
+
* @memberof GroupsComponent
|
|
1115
|
+
*/
|
|
1116
|
+
getGroups(group) {
|
|
1117
|
+
if (group) {
|
|
1118
|
+
this.getGroupsPayload = [
|
|
1119
|
+
{
|
|
1120
|
+
key: 'groupId',
|
|
1121
|
+
value: group.groupId,
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
key: 'groupType',
|
|
1125
|
+
value: '',
|
|
1126
|
+
},
|
|
1127
|
+
];
|
|
1128
|
+
}
|
|
1129
|
+
this.groupsService
|
|
1130
|
+
.getAllGroups(this.getGroupsPayload)
|
|
1131
|
+
.pipe(takeUntil(this.destroy$))
|
|
1132
|
+
.subscribe({
|
|
1133
|
+
next: (response) => {
|
|
1134
|
+
if (response?.status) {
|
|
1135
|
+
if (group) {
|
|
1136
|
+
this.childGroupsInfo = this.viewGroupResponse(response?.body);
|
|
1137
|
+
}
|
|
1138
|
+
else {
|
|
1139
|
+
this.parentGroupsInfo = this.viewGroupResponse(response?.body);
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
},
|
|
1143
|
+
error: (error) => {
|
|
1144
|
+
const errorCodes = error?.error?.body?.errorCodes;
|
|
1145
|
+
if (Array.isArray(errorCodes)) {
|
|
1146
|
+
const errorMessage = this.groupsService.parseErrorMessage(errorCodes);
|
|
1147
|
+
this.alertService.showMessage({
|
|
1148
|
+
status: 'custom',
|
|
1149
|
+
message: errorMessage,
|
|
1150
|
+
alertType: AlertType.ERROR,
|
|
1151
|
+
isCloseNeeded: true,
|
|
1152
|
+
});
|
|
1153
|
+
}
|
|
1154
|
+
else if (error && error instanceof HttpErrorResponse) {
|
|
1155
|
+
this.globalErrorHandlerService.handleError(error);
|
|
1156
|
+
}
|
|
1157
|
+
},
|
|
1158
|
+
});
|
|
1159
|
+
}
|
|
1160
|
+
/**
|
|
1161
|
+
* Sets groupType info with group response from groupType response
|
|
1162
|
+
* @param {GroupInfo[]} response
|
|
1163
|
+
* @return {*} {GroupInfo[]}
|
|
1164
|
+
* @memberof GroupsComponent
|
|
1165
|
+
*/
|
|
1166
|
+
viewGroupResponse(response) {
|
|
1167
|
+
response.forEach((node) => {
|
|
1168
|
+
const groupTypeInfo = this.groupTypes[node.groupType];
|
|
1169
|
+
node.groupTypeInfo = groupTypeInfo;
|
|
1170
|
+
});
|
|
1171
|
+
return response;
|
|
1172
|
+
}
|
|
1173
|
+
/**
|
|
1174
|
+
* Loads the group types.
|
|
1175
|
+
* @memberof GroupsComponent
|
|
1176
|
+
*/
|
|
1177
|
+
getGroupTypes() {
|
|
1178
|
+
this.groupsService
|
|
1179
|
+
.getGroupTypes()
|
|
1180
|
+
.pipe(takeUntil(this.destroy$))
|
|
1181
|
+
.subscribe({
|
|
1182
|
+
next: (res) => {
|
|
1183
|
+
if (res?.status) {
|
|
1184
|
+
this.groupTypes = res?.body?.configFieldValue;
|
|
1185
|
+
this.selectGroupOptions = this.getGroupTypeOptions();
|
|
1186
|
+
}
|
|
1187
|
+
},
|
|
1188
|
+
error: (error) => {
|
|
1189
|
+
const errorCodes = error?.error?.body?.errorCodes;
|
|
1190
|
+
if (Array.isArray(errorCodes)) {
|
|
1191
|
+
const errorMessage = this.groupsService.parseErrorMessage(errorCodes);
|
|
1192
|
+
this.alertService.showMessage({
|
|
1193
|
+
status: 'custom',
|
|
1194
|
+
message: errorMessage,
|
|
1195
|
+
alertType: AlertType.ERROR,
|
|
1196
|
+
isCloseNeeded: true,
|
|
1197
|
+
});
|
|
1198
|
+
}
|
|
1199
|
+
else if (error && error instanceof HttpErrorResponse) {
|
|
1200
|
+
this.globalErrorHandlerService.handleError(error);
|
|
1201
|
+
}
|
|
1202
|
+
},
|
|
1203
|
+
});
|
|
1204
|
+
}
|
|
475
1205
|
/**
|
|
476
1206
|
* NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
|
|
477
1207
|
* @memberof GroupsComponent
|
|
@@ -480,13 +1210,24 @@ class GroupsComponent {
|
|
|
480
1210
|
this.destroy$.next(true);
|
|
481
1211
|
this.destroy$.unsubscribe();
|
|
482
1212
|
}
|
|
483
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsComponent, deps: [{ token: i1.MatDialog }, { token: GroupsService }, { token:
|
|
484
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: GroupsComponent, isStandalone: true, selector: "ieeesa-groups", inputs: { applicationId: "applicationId", apiBaseURL: "apiBaseURL", permissions: "permissions" }, providers: [AlertsService], ngImport: i0, template: "<button type=\"button\" (click)=\"openCreateGroupForm()\">Create Group</button>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDialogModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1213
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsComponent, deps: [{ token: i1$1.MatDialog }, { token: GroupsService }, { token: i3.AlertsService }, { token: i3.BreakpointObserverService }, { token: i3.GlobalErrorHandlerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1214
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: GroupsComponent, isStandalone: true, selector: "ieeesa-groups", inputs: { groupsPageInfo: "groupsPageInfo", applicationId: "applicationId", apiBaseURL: "apiBaseURL", permissions: "permissions" }, providers: [AlertsService], ngImport: i0, template: "<div class=\"ieeesa-groups p-3 p-sm-4 p-md-4 p-lg-4\">\r\n <div\r\n class=\"ieeesa-groups__info d-flex justify-content-between pb-3\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__info--white-bg'\r\n : 'ieeesa-groups__info--blue-bg'\r\n \"\r\n >\r\n <p\r\n [ngClass]=\"isMobileView ? 'ieeesa-title-lg-24' : 'ieeesa-headline-lg-34'\"\r\n >\r\n {{ groupsPageInfo.groupsTitle }}\r\n </p>\r\n <div>\r\n <button\r\n mat-button\r\n class=\"ieeesa-groups__create-subgroup mat-tertiary-button d-none d-sm-block d-md-block d-lg-block d-xl-block\"\r\n (click)=\"openCreateGroupForm()\"\r\n [attr.aria-label]=\"constants.viewGroups.ariaLabel.addGroup\"\r\n >\r\n {{ constants.viewGroups.addGroup }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"d-flex d-sm-none d-md-none d-lg-none d-xl-none ieeesa-groups__mobile-icons gap-2\"\r\n >\r\n <ieeesa-icon-button\r\n [iconButton]=\"createGroupIcon\"\r\n (iconButtonClick)=\"openCreateGroupForm()\"\r\n >\r\n </ieeesa-icon-button>\r\n <ieeesa-icon-button\r\n [iconButton]=\"filterGroupIcon\"\r\n (iconButtonClick)=\"showGroupFilter()\"\r\n >\r\n </ieeesa-icon-button>\r\n <button\r\n mat-button\r\n [attr.aria-label]=\"constants.viewGroups.ariaLabel.search\"\r\n (click)=\"onGroupSearch()\"\r\n type=\"button\"\r\n >\r\n <i class=\"fa-solid fa-magnifying-glass search-group-icon\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-groups__actions\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__actions--white-bg'\r\n : 'ieeesa-groups__actions--blue-bg'\r\n \"\r\n >\r\n <div class=\"ieeesa-groups__actions--search row\">\r\n <p class=\"order-2 order-sm-1 col-12 col-md-7 col-lg-7 col-xl-7\">\r\n {{ groupsPageInfo.groupsDescription }}\r\n </p>\r\n <div\r\n *ngIf=\"\r\n ((isGroupSearchActive || isGroupFilterActive) && isMobileView) ||\r\n !isMobileView\r\n \"\r\n class=\"order-1 order-sm-2 col-12 col-md-5 col-lg-5 col-xl-5 d-flex flex-column\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isGroupSearchActive || !isMobileView\"\r\n (searchValue)=\"onGroupSearchClick($event)\"\r\n [placeholderLabel]=\"searchPlaceHolderText\"\r\n ></ieeesa-search>\r\n <ieeesa-select\r\n *ngIf=\"isGroupFilterActive || !isMobileView\"\r\n class=\"align-self-end pt-lg-4 pt-md-4 pt-xl-4\"\r\n [dropdownOptions]=\"selectGroupOptions\"\r\n [isLabelAlignedLeft]=\"true\"\r\n [selectLabel]=\"constants.viewGroups.filterByLabel\"\r\n (optionSelected)=\"onGroupTypeFiltered($event)\"\r\n [placeholderText]=\"filterPlaceHolderText\"\r\n ></ieeesa-select>\r\n </div>\r\n </div>\r\n <ieeesa-tree\r\n *ngIf=\"parentGroupsInfo && parentGroupsInfo.length > 0\"\r\n [parentGroupsInfo]=\"parentGroupsInfo\"\r\n [childGroupsInfo]=\"childGroupsInfo\"\r\n [deleteGroupInfo]=\"deleteGroupInfo\"\r\n [isGroupSearchOrFilterActive]=\"isGroupSearchOrFilterActive\"\r\n (toggleGroupClick)=\"getGroups($event)\"\r\n (createGroupClick)=\"openCreateGroupForm()\"\r\n ></ieeesa-tree>\r\n <div\r\n *ngIf=\"parentGroupsInfo && parentGroupsInfo.length > 0\"\r\n class=\"d-flex flex-column flex-sm-row flex-md-row mt-4 justify-content-start justify-content-sm-end\"\r\n >\r\n <p class=\"px-sm-3 d-flex align-items-center ieeesa-label-lg-bold-16\">\r\n {{ constants.viewGroups.legend }}\r\n </p>\r\n <ieeesa-legend\r\n [legends]=\"groupsLegends\"\r\n ></ieeesa-legend>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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.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:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-groups{background-color:#f2f2f2}.ieeesa-groups__mobile-icons .mat-mdc-button{min-width:45px;padding:0 10px}.ieeesa-groups__mobile-icons .ieeesa-icon-button__svg{height:1.5em!important;width:1.5em!important}.ieeesa-groups__info--white-bg{background-color:#fff;padding:16px 24px 0}.ieeesa-groups__info .search-group-icon{height:1.5em;color:#00629b}.ieeesa-groups__actions{background-color:#fff;box-shadow:0 2px #00b5e2 inset;padding:16px 24px 48px}.ieeesa-groups__actions--white-bg{background-color:#fff;box-shadow:none}.ieeesa-groups .ieeesa-select-field__label{width:max-content;padding-right:9px;font-size:1em}.ieeesa-groups .ieeesa-select-field__label-left{display:flex;align-items:baseline}.ieeesa-groups .ieeesa-select-field .mat-mdc-form-field{width:auto}.ieeesa-groups .ieeesa-select-field .ieeesa-form-support-text{display:none}.ieeesa-groups .ieeesa-search-field__search-icon{color:#00629b}.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field{border-radius:3px;background:linear-gradient(0deg,rgba(0,98,155,.05) 0%,rgba(0,98,155,.05) 100%),#fffbfe;box-shadow:0 0 4px #00000080 inset}.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field .mdc-notched-outline__leading,.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field .mdc-notched-outline__notch,.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field .mdc-notched-outline__trailing{border:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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: SearchComponent, selector: "ieeesa-search", inputs: ["formControlName", "placeholderLabel", "searchType", "searchTerm"], outputs: ["searchValue"] }, { kind: "component", type: SelectComponent, selector: "ieeesa-select", inputs: ["isSortNeeded", "dropdownOptions", "selectedOptions", "formControlName", "isMultiLevel", "isLabelAlignedLeft", "selectLabel", "isMultiSelect", "isDisabled", "isSearch", "placeholderText"], outputs: ["optionSelected", "optionSearched"] }, { kind: "component", type: TreeViewComponent, selector: "ieeesa-tree", inputs: ["parentGroupsInfo", "childGroupsInfo", "isGroupSearchOrFilterActive", "deleteGroupInfo"], outputs: ["toggleGroupClick", "createGroupClick", "editGroupClick", "deleteGroupClick"] }, { kind: "component", type: LegendComponent, selector: "ieeesa-legend", inputs: ["legends"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
485
1215
|
}
|
|
486
1216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsComponent, decorators: [{
|
|
487
1217
|
type: Component,
|
|
488
|
-
args: [{ selector:
|
|
489
|
-
|
|
1218
|
+
args: [{ selector: 'ieeesa-groups', standalone: true, imports: [
|
|
1219
|
+
CommonModule,
|
|
1220
|
+
MatDialogModule,
|
|
1221
|
+
MatButtonModule,
|
|
1222
|
+
SearchComponent,
|
|
1223
|
+
SelectComponent,
|
|
1224
|
+
TreeViewComponent,
|
|
1225
|
+
LegendComponent,
|
|
1226
|
+
IconButtonComponent,
|
|
1227
|
+
], encapsulation: ViewEncapsulation.None, providers: [AlertsService], template: "<div class=\"ieeesa-groups p-3 p-sm-4 p-md-4 p-lg-4\">\r\n <div\r\n class=\"ieeesa-groups__info d-flex justify-content-between pb-3\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__info--white-bg'\r\n : 'ieeesa-groups__info--blue-bg'\r\n \"\r\n >\r\n <p\r\n [ngClass]=\"isMobileView ? 'ieeesa-title-lg-24' : 'ieeesa-headline-lg-34'\"\r\n >\r\n {{ groupsPageInfo.groupsTitle }}\r\n </p>\r\n <div>\r\n <button\r\n mat-button\r\n class=\"ieeesa-groups__create-subgroup mat-tertiary-button d-none d-sm-block d-md-block d-lg-block d-xl-block\"\r\n (click)=\"openCreateGroupForm()\"\r\n [attr.aria-label]=\"constants.viewGroups.ariaLabel.addGroup\"\r\n >\r\n {{ constants.viewGroups.addGroup }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"d-flex d-sm-none d-md-none d-lg-none d-xl-none ieeesa-groups__mobile-icons gap-2\"\r\n >\r\n <ieeesa-icon-button\r\n [iconButton]=\"createGroupIcon\"\r\n (iconButtonClick)=\"openCreateGroupForm()\"\r\n >\r\n </ieeesa-icon-button>\r\n <ieeesa-icon-button\r\n [iconButton]=\"filterGroupIcon\"\r\n (iconButtonClick)=\"showGroupFilter()\"\r\n >\r\n </ieeesa-icon-button>\r\n <button\r\n mat-button\r\n [attr.aria-label]=\"constants.viewGroups.ariaLabel.search\"\r\n (click)=\"onGroupSearch()\"\r\n type=\"button\"\r\n >\r\n <i class=\"fa-solid fa-magnifying-glass search-group-icon\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-groups__actions\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__actions--white-bg'\r\n : 'ieeesa-groups__actions--blue-bg'\r\n \"\r\n >\r\n <div class=\"ieeesa-groups__actions--search row\">\r\n <p class=\"order-2 order-sm-1 col-12 col-md-7 col-lg-7 col-xl-7\">\r\n {{ groupsPageInfo.groupsDescription }}\r\n </p>\r\n <div\r\n *ngIf=\"\r\n ((isGroupSearchActive || isGroupFilterActive) && isMobileView) ||\r\n !isMobileView\r\n \"\r\n class=\"order-1 order-sm-2 col-12 col-md-5 col-lg-5 col-xl-5 d-flex flex-column\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isGroupSearchActive || !isMobileView\"\r\n (searchValue)=\"onGroupSearchClick($event)\"\r\n [placeholderLabel]=\"searchPlaceHolderText\"\r\n ></ieeesa-search>\r\n <ieeesa-select\r\n *ngIf=\"isGroupFilterActive || !isMobileView\"\r\n class=\"align-self-end pt-lg-4 pt-md-4 pt-xl-4\"\r\n [dropdownOptions]=\"selectGroupOptions\"\r\n [isLabelAlignedLeft]=\"true\"\r\n [selectLabel]=\"constants.viewGroups.filterByLabel\"\r\n (optionSelected)=\"onGroupTypeFiltered($event)\"\r\n [placeholderText]=\"filterPlaceHolderText\"\r\n ></ieeesa-select>\r\n </div>\r\n </div>\r\n <ieeesa-tree\r\n *ngIf=\"parentGroupsInfo && parentGroupsInfo.length > 0\"\r\n [parentGroupsInfo]=\"parentGroupsInfo\"\r\n [childGroupsInfo]=\"childGroupsInfo\"\r\n [deleteGroupInfo]=\"deleteGroupInfo\"\r\n [isGroupSearchOrFilterActive]=\"isGroupSearchOrFilterActive\"\r\n (toggleGroupClick)=\"getGroups($event)\"\r\n (createGroupClick)=\"openCreateGroupForm()\"\r\n ></ieeesa-tree>\r\n <div\r\n *ngIf=\"parentGroupsInfo && parentGroupsInfo.length > 0\"\r\n class=\"d-flex flex-column flex-sm-row flex-md-row mt-4 justify-content-start justify-content-sm-end\"\r\n >\r\n <p class=\"px-sm-3 d-flex align-items-center ieeesa-label-lg-bold-16\">\r\n {{ constants.viewGroups.legend }}\r\n </p>\r\n <ieeesa-legend\r\n [legends]=\"groupsLegends\"\r\n ></ieeesa-legend>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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.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:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-groups{background-color:#f2f2f2}.ieeesa-groups__mobile-icons .mat-mdc-button{min-width:45px;padding:0 10px}.ieeesa-groups__mobile-icons .ieeesa-icon-button__svg{height:1.5em!important;width:1.5em!important}.ieeesa-groups__info--white-bg{background-color:#fff;padding:16px 24px 0}.ieeesa-groups__info .search-group-icon{height:1.5em;color:#00629b}.ieeesa-groups__actions{background-color:#fff;box-shadow:0 2px #00b5e2 inset;padding:16px 24px 48px}.ieeesa-groups__actions--white-bg{background-color:#fff;box-shadow:none}.ieeesa-groups .ieeesa-select-field__label{width:max-content;padding-right:9px;font-size:1em}.ieeesa-groups .ieeesa-select-field__label-left{display:flex;align-items:baseline}.ieeesa-groups .ieeesa-select-field .mat-mdc-form-field{width:auto}.ieeesa-groups .ieeesa-select-field .ieeesa-form-support-text{display:none}.ieeesa-groups .ieeesa-search-field__search-icon{color:#00629b}.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field{border-radius:3px;background:linear-gradient(0deg,rgba(0,98,155,.05) 0%,rgba(0,98,155,.05) 100%),#fffbfe;box-shadow:0 0 4px #00000080 inset}.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field .mdc-notched-outline__leading,.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field .mdc-notched-outline__notch,.ieeesa-groups .ieeesa-search-field .mat-mdc-form-field .mdc-notched-outline__trailing{border:none}\n"] }]
|
|
1228
|
+
}], ctorParameters: function () { return [{ type: i1$1.MatDialog }, { type: GroupsService }, { type: i3.AlertsService }, { type: i3.BreakpointObserverService }, { type: i3.GlobalErrorHandlerService }]; }, propDecorators: { groupsPageInfo: [{
|
|
1229
|
+
type: Input
|
|
1230
|
+
}], applicationId: [{
|
|
490
1231
|
type: Input
|
|
491
1232
|
}], apiBaseURL: [{
|
|
492
1233
|
type: Input
|
|
@@ -516,5 +1257,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
|
|
|
516
1257
|
* Generated bundle index. Do not edit.
|
|
517
1258
|
*/
|
|
518
1259
|
|
|
519
|
-
export { CreateGroupComponent, GroupFunctionType, GroupsComponent, GroupsModule, GroupsService, GroupsValidationPatterns };
|
|
1260
|
+
export { CreateGroupComponent, GroupAction, GroupFunctionType, GroupNode, Groups, GroupsComponent, GroupsDataSource, GroupsModule, GroupsService, GroupsValidationPatterns, TreeViewComponent };
|
|
520
1261
|
//# sourceMappingURL=ieeesa-npm-groups.mjs.map
|