@ieeesa-npm/groups 0.0.1
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/README.md +24 -0
- package/esm2022/ieeesa-npm-groups.mjs +5 -0
- package/esm2022/lib/assets/constants.json +59 -0
- package/esm2022/lib/assets/form-validations.mjs +10 -0
- package/esm2022/lib/components/create-group/create-group.component.mjs +263 -0
- package/esm2022/lib/groups.component.mjs +113 -0
- package/esm2022/lib/groups.module.mjs +16 -0
- package/esm2022/lib/models/create-group.model.mjs +2 -0
- package/esm2022/lib/models/group-function-type.model.mjs +7 -0
- package/esm2022/lib/models/group-types.model.mjs +2 -0
- package/esm2022/lib/services/groups.service.mjs +60 -0
- package/esm2022/public-api.mjs +12 -0
- package/fesm2022/ieeesa-npm-groups.mjs +520 -0
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/assets/form-validations.d.ts +5 -0
- package/lib/components/create-group/create-group.component.d.ts +133 -0
- package/lib/groups.component.d.ts +107 -0
- package/lib/groups.module.d.ts +6 -0
- package/lib/models/create-group.model.d.ts +16 -0
- package/lib/models/group-function-type.model.d.ts +4 -0
- package/lib/models/group-types.model.d.ts +23 -0
- package/lib/services/groups.service.d.ts +32 -0
- package/package.json +28 -0
- package/public-api.d.ts +8 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Groups
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project groups` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project groups`.
|
|
8
|
+
> Note: Don't forget to add `--project groups` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build groups` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build groups`, go to the dist folder `cd dist/groups` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test groups` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWVlZXNhLW5wbS1ncm91cHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2llZWVzYS1ucG0tZ3JvdXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"createGroup": {
|
|
3
|
+
"heading": "New Group",
|
|
4
|
+
"label": {
|
|
5
|
+
"groupType": "Group Type",
|
|
6
|
+
"groupName": "Group Name",
|
|
7
|
+
"shortName": "Group Short Name",
|
|
8
|
+
"groupScope": "Group Scope",
|
|
9
|
+
"rightButtonLabel": "Submit",
|
|
10
|
+
"leftButtonLabel": "Cancel",
|
|
11
|
+
"ariaLabel": {
|
|
12
|
+
"groupType": "Group type required.",
|
|
13
|
+
"groupName": "Group name required.",
|
|
14
|
+
"shortName": "Group short name required.",
|
|
15
|
+
"groupScope": "Group scope."
|
|
16
|
+
},
|
|
17
|
+
"ariaDescribedById": {
|
|
18
|
+
"groupType": "ariaGroupType",
|
|
19
|
+
"groupName": "ariaGroupName",
|
|
20
|
+
"shortName": "ariaShortName",
|
|
21
|
+
"groupScope": "ariaGroupScope"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"characterLimit": {
|
|
25
|
+
"character500": 500,
|
|
26
|
+
"character15": 15,
|
|
27
|
+
"character1500": 1500,
|
|
28
|
+
"character2000": 2000
|
|
29
|
+
},
|
|
30
|
+
"message": {
|
|
31
|
+
"error": {
|
|
32
|
+
"required": "This field is required.",
|
|
33
|
+
"limit": {
|
|
34
|
+
"groupName": "Group Name must not be greater than 500 characters long.",
|
|
35
|
+
"shortName": "Group Short Name must not be greater than 15 characters long.",
|
|
36
|
+
"groupScope": "Group Scope must not be greater than 1500 characters long."
|
|
37
|
+
},
|
|
38
|
+
"pattern": {
|
|
39
|
+
"groupName": "Group Name contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
40
|
+
"shortName": "Group Short Name contains invalid characters. Please enter '.',',' , '/', '-' , '_' only.",
|
|
41
|
+
"groupScope": "Group Scope contains invalid characters. Please enter alphanumeric, special characters and whitespace only."
|
|
42
|
+
},
|
|
43
|
+
"unique": {
|
|
44
|
+
"1001": "Group Name already in use.",
|
|
45
|
+
"1002": "Group Short Name already in use."
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"success": {
|
|
49
|
+
"submission": "New Group added successfully."
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"supportText": {
|
|
53
|
+
"groupType": "Choose a group type from the available list.",
|
|
54
|
+
"groupName": "Enter the name of the group.",
|
|
55
|
+
"shortName": "Enter the abbreviation of the group.",
|
|
56
|
+
"groupScope": "Enter a brief description for the scope of the group."
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* eslint-disable no-useless-escape */
|
|
2
|
+
export const GroupsValidationPatterns = {
|
|
3
|
+
// Group Name field regular expression, which accept Alpha Numeric, Special Characters (ASCII) and whitespace.
|
|
4
|
+
groupName: /^[\w\s!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]+$/,
|
|
5
|
+
// Group Short Name field regular expression which accept letters, numbers and ".","," , "/", "-" , "_" characters.
|
|
6
|
+
shortName: /^[a-zA-Z0-9.,\/\-_ ]+$/,
|
|
7
|
+
// Group Scope field regular expression which accept Alpha Numeric, Special Characters and whitespace.
|
|
8
|
+
groupScope: /^[\w\s!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]+$/,
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL2Fzc2V0cy9mb3JtLXZhbGlkYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0Qyw4R0FBOEc7SUFDOUcsU0FBUyxFQUFFLDRDQUE0QztJQUN2RCxtSEFBbUg7SUFDbkgsU0FBUyxFQUFFLHdCQUF3QjtJQUNuQyxzR0FBc0c7SUFDdEcsVUFBVSxFQUFFLDRDQUE0QztDQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlbGVzcy1lc2NhcGUgKi9cclxuZXhwb3J0IGNvbnN0IEdyb3Vwc1ZhbGlkYXRpb25QYXR0ZXJucyA9IHtcclxuICAvLyBHcm91cCBOYW1lIGZpZWxkIHJlZ3VsYXIgZXhwcmVzc2lvbiwgd2hpY2ggYWNjZXB0IEFscGhhIE51bWVyaWMsIFNwZWNpYWwgQ2hhcmFjdGVycyAoQVNDSUkpIGFuZCB3aGl0ZXNwYWNlLlxyXG4gIGdyb3VwTmFtZTogL15bXFx3XFxzIVwiIyQlJicoKSorLC0uLzo7PD0+P0BcXFtcXF1eX2B7fH1+XSskLyxcclxuICAvLyBHcm91cCBTaG9ydCBOYW1lIGZpZWxkIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aGljaCBhY2NlcHQgbGV0dGVycywgbnVtYmVycyBhbmQgXCIuXCIsXCIsXCIgLCBcIi9cIiwgXCItXCIgLCBcIl9cIiBjaGFyYWN0ZXJzLlxyXG4gIHNob3J0TmFtZTogL15bYS16QS1aMC05LixcXC9cXC1fIF0rJC8sXHJcbiAgLy8gR3JvdXAgU2NvcGUgZmllbGQgcmVndWxhciBleHByZXNzaW9uIHdoaWNoIGFjY2VwdCBBbHBoYSBOdW1lcmljLCBTcGVjaWFsIENoYXJhY3RlcnMgYW5kIHdoaXRlc3BhY2UuXHJcbiAgZ3JvdXBTY29wZTogL15bXFx3XFxzIVwiIyQlJicoKSorLC0uLzo7PD0+P0BcXFtcXF1eX2B7fH1+XSskLyxcclxufTsiXX0=
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output, ViewEncapsulation, } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { Validators } from "@angular/forms";
|
|
4
|
+
import { DynamicFormComponent, FormControlType, AlignType, } from "@ieeesa-npm/presentation";
|
|
5
|
+
import { AlertsService, AlertType, } from "@ieeesa-npm/utility";
|
|
6
|
+
import * as screenTexts from "../../assets/constants.json";
|
|
7
|
+
import { GroupsValidationPatterns } from "../../assets/form-validations";
|
|
8
|
+
import { HttpErrorResponse } from "@angular/common/http";
|
|
9
|
+
import { MatDialogModule } from "@angular/material/dialog";
|
|
10
|
+
import { Subject, takeUntil } from "rxjs";
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../../services/groups.service";
|
|
13
|
+
import * as i2 from "@ieeesa-npm/utility";
|
|
14
|
+
import * as i3 from "@angular/common";
|
|
15
|
+
/**
|
|
16
|
+
* CreateGroupComponent uses DynamicFormComponent to build create new group form and implement the functionalities of submission of form and handling success and error scenarios.
|
|
17
|
+
* @class CreateGroupComponent
|
|
18
|
+
* @implements {OnInit}
|
|
19
|
+
* @implements {OnDestroy}
|
|
20
|
+
*/
|
|
21
|
+
export class CreateGroupComponent {
|
|
22
|
+
// eslint-disable-next-line no-unused-vars, no-empty-function
|
|
23
|
+
constructor(
|
|
24
|
+
// eslint-disable-next-line no-unused-vars
|
|
25
|
+
groupsService,
|
|
26
|
+
// eslint-disable-next-line no-unused-vars
|
|
27
|
+
globalErrorHandlerService,
|
|
28
|
+
// eslint-disable-next-line no-unused-vars
|
|
29
|
+
alertService // eslint-disable-next-line no-empty-function
|
|
30
|
+
) {
|
|
31
|
+
this.groupsService = groupsService;
|
|
32
|
+
this.globalErrorHandlerService = globalErrorHandlerService;
|
|
33
|
+
this.alertService = alertService;
|
|
34
|
+
this.destroy$ = new Subject();
|
|
35
|
+
/**
|
|
36
|
+
* Event emitted when the form is successfully submitted.
|
|
37
|
+
* @memberof CreateGroupComponent
|
|
38
|
+
*/
|
|
39
|
+
this.submitFormResponse = new EventEmitter();
|
|
40
|
+
/**
|
|
41
|
+
* Event emitted when the form is cancelled.
|
|
42
|
+
* @memberof CreateGroupComponent
|
|
43
|
+
*/
|
|
44
|
+
this.formCancel = new EventEmitter();
|
|
45
|
+
this.createGroupText = screenTexts?.createGroup;
|
|
46
|
+
this.leftButtonLabel = this.createGroupText?.label?.leftButtonLabel;
|
|
47
|
+
this.rightButtonLabel = this.createGroupText?.label?.rightButtonLabel;
|
|
48
|
+
this.isLegendVisible = false;
|
|
49
|
+
this.isLeftButtonNeeded = true;
|
|
50
|
+
this.colWidth = { xs: 12, xl: 12, sm: 12, md: 12, lg: 12 };
|
|
51
|
+
this.actionButtonAlign = AlignType.LEFT;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Initialize the create group form group array and component.
|
|
55
|
+
* @return -returns nothing
|
|
56
|
+
* @memberof CreateGroupComponent
|
|
57
|
+
*/
|
|
58
|
+
ngOnInit() {
|
|
59
|
+
this.groupsService
|
|
60
|
+
.getGroupTypes()
|
|
61
|
+
.pipe(takeUntil(this.destroy$))
|
|
62
|
+
.subscribe({
|
|
63
|
+
next: (res) => {
|
|
64
|
+
if (res?.status) {
|
|
65
|
+
this.groupTypes = Object.entries(res.body.configFieldValue).map(
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
+
([id, item]) => ({
|
|
68
|
+
id: id,
|
|
69
|
+
name: item.name,
|
|
70
|
+
}));
|
|
71
|
+
if (this.groupTypes.length) {
|
|
72
|
+
this.createFormGroup();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
error: (error) => {
|
|
77
|
+
if (error && error instanceof HttpErrorResponse) {
|
|
78
|
+
this.globalErrorHandlerService.handleError(error);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Initialize the create group form group array.
|
|
85
|
+
* @memberof CreateGroupComponent
|
|
86
|
+
*/
|
|
87
|
+
createFormGroup() {
|
|
88
|
+
this.formGroup = {
|
|
89
|
+
formGroup: [
|
|
90
|
+
{
|
|
91
|
+
legend: "",
|
|
92
|
+
controls: [
|
|
93
|
+
{
|
|
94
|
+
type: FormControlType.SELECT,
|
|
95
|
+
label: this.createGroupText?.label?.groupType + "*",
|
|
96
|
+
controlName: "groupType",
|
|
97
|
+
requiredErrorMessage: this.createGroupText?.message?.error
|
|
98
|
+
?.required,
|
|
99
|
+
value: "",
|
|
100
|
+
validation: [Validators.required],
|
|
101
|
+
dropdownOptions: this.groupTypes,
|
|
102
|
+
supportMessage: this.createGroupText?.supportText?.groupType,
|
|
103
|
+
ariaLabel: this.createGroupText?.label?.ariaLabel?.groupType,
|
|
104
|
+
placeholder: "",
|
|
105
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
106
|
+
?.groupType,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: FormControlType.INPUT,
|
|
110
|
+
label: this.createGroupText?.label?.groupName + "*",
|
|
111
|
+
controlName: "groupName",
|
|
112
|
+
requiredErrorMessage: this.createGroupText?.message?.error
|
|
113
|
+
?.required,
|
|
114
|
+
value: "",
|
|
115
|
+
placeholder: "",
|
|
116
|
+
supportMessage: this.createGroupText?.supportText?.groupName,
|
|
117
|
+
patternErrorMessage: this.createGroupText?.message?.error?.pattern
|
|
118
|
+
?.groupName,
|
|
119
|
+
validation: [
|
|
120
|
+
Validators.required,
|
|
121
|
+
Validators.maxLength(screenTexts?.createGroup?.characterLimit?.character500),
|
|
122
|
+
Validators.pattern(GroupsValidationPatterns.groupName),
|
|
123
|
+
],
|
|
124
|
+
maxErrorMessage: this.createGroupText?.message?.error?.limit
|
|
125
|
+
?.groupName,
|
|
126
|
+
ariaLabel: this.createGroupText?.label?.ariaLabel?.groupName,
|
|
127
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
128
|
+
?.groupName,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: FormControlType.INPUT,
|
|
132
|
+
label: this.createGroupText?.label?.shortName + "*",
|
|
133
|
+
controlName: "shortName",
|
|
134
|
+
requiredErrorMessage: this.createGroupText?.message?.error
|
|
135
|
+
?.required,
|
|
136
|
+
value: "",
|
|
137
|
+
patternErrorMessage: this.createGroupText?.message?.error?.pattern
|
|
138
|
+
?.shortName,
|
|
139
|
+
placeholder: "",
|
|
140
|
+
supportMessage: this.createGroupText?.supportText?.shortName,
|
|
141
|
+
validation: [
|
|
142
|
+
Validators.required,
|
|
143
|
+
Validators.maxLength(screenTexts?.createGroup?.characterLimit?.character15),
|
|
144
|
+
Validators.pattern(GroupsValidationPatterns.shortName),
|
|
145
|
+
],
|
|
146
|
+
maxErrorMessage: this.createGroupText?.message?.error?.limit
|
|
147
|
+
?.shortName,
|
|
148
|
+
ariaLabel: this.createGroupText?.label?.ariaLabel?.shortName,
|
|
149
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
150
|
+
?.shortName,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: FormControlType.TEXT_AREA,
|
|
154
|
+
label: this.createGroupText?.label?.groupScope,
|
|
155
|
+
controlName: "groupScope",
|
|
156
|
+
patternErrorMessage: this.createGroupText?.message?.error?.pattern
|
|
157
|
+
?.groupScope,
|
|
158
|
+
value: "",
|
|
159
|
+
placeholder: "",
|
|
160
|
+
supportMessage: this.createGroupText?.supportText?.groupScope,
|
|
161
|
+
isResize: true,
|
|
162
|
+
maxLength: screenTexts?.createGroup?.characterLimit?.character2000,
|
|
163
|
+
validation: [
|
|
164
|
+
Validators.maxLength(screenTexts?.createGroup?.characterLimit?.character1500),
|
|
165
|
+
Validators.pattern(GroupsValidationPatterns.groupScope),
|
|
166
|
+
],
|
|
167
|
+
maxErrorMessage: this.createGroupText?.message?.error?.limit
|
|
168
|
+
?.groupScope,
|
|
169
|
+
ariaLabel: this.createGroupText?.label?.ariaLabel?.groupScope,
|
|
170
|
+
ariaDescribedById: this.createGroupText?.label?.ariaDescribedById
|
|
171
|
+
?.groupScope,
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Handles client side validation and emits create group information.
|
|
180
|
+
* @param {FormGroup[]} form -Array of formGroup
|
|
181
|
+
* @return -returns nothing
|
|
182
|
+
* @memberof CreateGroupComponent
|
|
183
|
+
*/
|
|
184
|
+
onFormSubmit(form) {
|
|
185
|
+
form[0]?.markAllAsTouched();
|
|
186
|
+
if (form[0].status === "VALID") {
|
|
187
|
+
const formResponse = form[0].getRawValue();
|
|
188
|
+
const createGroupPayload = {
|
|
189
|
+
payload: {
|
|
190
|
+
groupName: formResponse?.groupName,
|
|
191
|
+
groupShortName: formResponse?.shortName,
|
|
192
|
+
groupType: formResponse?.groupType?.name,
|
|
193
|
+
groupDesc: formResponse?.groupScope,
|
|
194
|
+
groupParentId: null,
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
this.groupsService
|
|
198
|
+
.createGroup(createGroupPayload)
|
|
199
|
+
.pipe(takeUntil(this.destroy$))
|
|
200
|
+
.subscribe({
|
|
201
|
+
next: (res) => {
|
|
202
|
+
if (res?.status) {
|
|
203
|
+
this.submitFormResponse.emit(res);
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
error: (error) => {
|
|
207
|
+
const errorCodeArr = error?.error?.body?.errorCodes;
|
|
208
|
+
if (Array.isArray(errorCodeArr)) {
|
|
209
|
+
const errorMessage = [];
|
|
210
|
+
errorCodeArr.forEach((item, index) => {
|
|
211
|
+
const errorMessageKey = errorCodeArr[index];
|
|
212
|
+
errorMessage.push(this.createGroupText?.message?.error?.unique[errorMessageKey]);
|
|
213
|
+
});
|
|
214
|
+
this.alertService.showMessage({
|
|
215
|
+
status: "custom",
|
|
216
|
+
message: errorMessage,
|
|
217
|
+
alertType: AlertType.ERROR,
|
|
218
|
+
isCloseNeeded: true,
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
else if (error && error instanceof HttpErrorResponse) {
|
|
222
|
+
this.globalErrorHandlerService.handleError(error);
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get form reference.
|
|
230
|
+
* @param {FormGroup[]} form
|
|
231
|
+
* @memberof CreateGroupComponent
|
|
232
|
+
*/
|
|
233
|
+
getFormGroupReference(form) {
|
|
234
|
+
this.form = form[0];
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Emits form cancel event.
|
|
238
|
+
* @return -returns nothing
|
|
239
|
+
* @memberof CreateGroupComponent
|
|
240
|
+
*/
|
|
241
|
+
createGroupCancelled() {
|
|
242
|
+
this.formCancel.emit();
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
|
|
246
|
+
* @memberof CreateGroupComponent
|
|
247
|
+
*/
|
|
248
|
+
ngOnDestroy() {
|
|
249
|
+
this.destroy$.next(true);
|
|
250
|
+
this.destroy$.unsubscribe();
|
|
251
|
+
}
|
|
252
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CreateGroupComponent, deps: [{ token: i1.GroupsService }, { token: i2.GlobalErrorHandlerService }, { token: i2.AlertsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
253
|
+
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: i3.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 }); }
|
|
254
|
+
}
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CreateGroupComponent, decorators: [{
|
|
256
|
+
type: Component,
|
|
257
|
+
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"] }]
|
|
258
|
+
}], ctorParameters: function () { return [{ type: i1.GroupsService }, { type: i2.GlobalErrorHandlerService }, { type: i2.AlertsService }]; }, propDecorators: { submitFormResponse: [{
|
|
259
|
+
type: Output
|
|
260
|
+
}], formCancel: [{
|
|
261
|
+
type: Output
|
|
262
|
+
}] } });
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLWdyb3VwL2NyZWF0ZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS1ncm91cC9jcmVhdGUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBR1osTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFJTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLFNBQVMsR0FDVixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxHQUVWLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRzFDOzs7OztHQUtHO0FBV0gsTUFBTSxPQUFPLG9CQUFvQjtJQXNCL0IsNkRBQTZEO0lBQzdEO0lBQ0UsMENBQTBDO0lBQ2xDLGFBQTRCO0lBQ3BDLDBDQUEwQztJQUNsQyx5QkFBb0Q7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LENBQUMsQ0FBQztxQkFDSjt5QkFBTSxJQUFJLEtBQUssSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUU7d0JBQ3RELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ25EO2dCQUNILENBQUM7YUFDRixDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsSUFBaUI7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FyUFUsb0JBQW9CO2tHQUFwQixvQkFBb0IsbUpBRnBCLENBQUMsYUFBYSxDQUFDLDBCQzlDNUIsMGdCQVl1QixvdVBEOEJYLFlBQVksbUlBQUUsb0JBQW9CLHdtQkFBRSxlQUFlOzsyRkFNbEQsb0JBQW9CO2tCQVZoQyxTQUFTOytCQUVFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxDQUFDLGlCQUcvQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsYUFBYSxDQUFDO3dLQVFoQixrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1HcmlkLFxyXG4gIEZvcm1Nb2RlbCxcclxuICBTZWxlY3RPcHRpb24sXHJcbiAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgRm9ybUNvbnRyb2xUeXBlLFxyXG4gIEFsaWduVHlwZSxcclxufSBmcm9tIFwiQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgQWxlcnRzU2VydmljZSxcclxuICBBbGVydFR5cGUsXHJcbiAgR2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZSxcclxufSBmcm9tIFwiQGllZWVzYS1ucG0vdXRpbGl0eVwiO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0cyBmcm9tIFwiLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uXCI7XHJcbmltcG9ydCB7IEdyb3Vwc1ZhbGlkYXRpb25QYXR0ZXJucyB9IGZyb20gXCIuLi8uLi9hc3NldHMvZm9ybS12YWxpZGF0aW9uc1wiO1xyXG5pbXBvcnQgeyBDcmVhdGVHcm91cFBheWxvYWQgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NyZWF0ZS1ncm91cC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBHcm91cHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2dyb3Vwcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR3JvdXBUeXBlIH0gZnJvbSBcIi4uLy4uL21vZGVscy9ncm91cC10eXBlcy5tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZUdyb3VwQ29tcG9uZW50IHVzZXMgRHluYW1pY0Zvcm1Db21wb25lbnQgdG8gYnVpbGQgY3JlYXRlIG5ldyBncm91cCBmb3JtIGFuZCBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9uYWxpdGllcyBvZiBzdWJtaXNzaW9uIG9mIGZvcm0gYW5kIGhhbmRsaW5nIHN1Y2Nlc3MgYW5kIGVycm9yIHNjZW5hcmlvcy5cclxuICogQGNsYXNzIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkRlc3Ryb3l9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiBcImllZWVzYS1jcmVhdGUtZ3JvdXBcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIER5bmFtaWNGb3JtQ29tcG9uZW50LCBNYXREaWFsb2dNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vY3JlYXRlLWdyb3VwLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2NyZWF0ZS1ncm91cC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW0FsZXJ0c1NlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBzdWNjZXNzZnVsbHkgc3VibWl0dGVkLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtUmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIGNhbmNlbGxlZC5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgZm9ybUNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjcmVhdGVHcm91cFRleHQgPSBzY3JlZW5UZXh0cz8uY3JlYXRlR3JvdXA7XHJcbiAgbGVmdEJ1dHRvbkxhYmVsID0gdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5sZWZ0QnV0dG9uTGFiZWw7XHJcbiAgcmlnaHRCdXR0b25MYWJlbCA9IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8ucmlnaHRCdXR0b25MYWJlbDtcclxuICBpc0xlZ2VuZFZpc2libGUgPSBmYWxzZTtcclxuICBpc0xlZnRCdXR0b25OZWVkZWQgPSB0cnVlO1xyXG4gIGNvbFdpZHRoOiBGb3JtR3JpZCA9IHsgeHM6IDEyLCB4bDogMTIsIHNtOiAxMiwgbWQ6IDEyLCBsZzogMTIgfTtcclxuICBmb3JtR3JvdXAhOiBGb3JtTW9kZWw7XHJcbiAgZ3JvdXBUeXBlcyE6IFNlbGVjdE9wdGlvbltdO1xyXG4gIGFjdGlvbkJ1dHRvbkFsaWduID0gQWxpZ25UeXBlLkxFRlQ7XHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZ3JvdXBzU2VydmljZTogR3JvdXBzU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBnbG9iYWxFcnJvckhhbmRsZXJTZXJ2aWNlOiBHbG9iYWxFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGUgY3JlYXRlIGdyb3VwIGZvcm0gZ3JvdXAgYXJyYXkgYW5kIGNvbXBvbmVudC5cclxuICAgKiBAcmV0dXJuIC1yZXR1cm5zIG5vdGhpbmdcclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXBzU2VydmljZVxyXG4gICAgICAuZ2V0R3JvdXBUeXBlcygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcz8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBUeXBlcyA9IE9iamVjdC5lbnRyaWVzKHJlcy5ib2R5LmNvbmZpZ0ZpZWxkVmFsdWUpLm1hcChcclxuICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgICAgICAgIChbaWQsIGl0ZW1dOiBbc3RyaW5nLCBHcm91cFR5cGVdKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmdyb3VwVHlwZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgaWYgKGVycm9yICYmIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5nbG9iYWxFcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIGNyZWF0ZSBncm91cCBmb3JtIGdyb3VwIGFycmF5LlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUZvcm1Hcm91cCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0ge1xyXG4gICAgICBmb3JtR3JvdXA6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsZWdlbmQ6IFwiXCIsXHJcbiAgICAgICAgICBjb250cm9sczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLlNFTEVDVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5ncm91cFR5cGUgKyBcIipcIixcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogXCJncm91cFR5cGVcIixcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yXHJcbiAgICAgICAgICAgICAgICA/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgICBkcm9wZG93bk9wdGlvbnM6IHRoaXMuZ3JvdXBUeXBlcyxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/LnN1cHBvcnRUZXh0Py5ncm91cFR5cGUsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFMYWJlbD8uZ3JvdXBUeXBlLFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlwiLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkXHJcbiAgICAgICAgICAgICAgICA/Lmdyb3VwVHlwZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5ncm91cE5hbWUgKyBcIipcIixcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogXCJncm91cE5hbWVcIixcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yXHJcbiAgICAgICAgICAgICAgICA/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlwiLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8uc3VwcG9ydFRleHQ/Lmdyb3VwTmFtZSxcclxuICAgICAgICAgICAgICBwYXR0ZXJuRXJyb3JNZXNzYWdlOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubWVzc2FnZT8uZXJyb3I/LnBhdHRlcm5cclxuICAgICAgICAgICAgICAgID8uZ3JvdXBOYW1lLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChcclxuICAgICAgICAgICAgICAgICAgc2NyZWVuVGV4dHM/LmNyZWF0ZUdyb3VwPy5jaGFyYWN0ZXJMaW1pdD8uY2hhcmFjdGVyNTAwXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKEdyb3Vwc1ZhbGlkYXRpb25QYXR0ZXJucy5ncm91cE5hbWUpLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgbWF4RXJyb3JNZXNzYWdlOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0XHJcbiAgICAgICAgICAgICAgICA/Lmdyb3VwTmFtZSxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uYXJpYUxhYmVsPy5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWRcclxuICAgICAgICAgICAgICAgID8uZ3JvdXBOYW1lLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LnNob3J0TmFtZSArIFwiKlwiLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiBcInNob3J0TmFtZVwiLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubWVzc2FnZT8uZXJyb3JcclxuICAgICAgICAgICAgICAgID8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgdmFsdWU6IFwiXCIsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuXHJcbiAgICAgICAgICAgICAgICA/LnNob3J0TmFtZSxcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJcIixcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/LnN1cHBvcnRUZXh0Py5zaG9ydE5hbWUsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBzY3JlZW5UZXh0cz8uY3JlYXRlR3JvdXA/LmNoYXJhY3RlckxpbWl0Py5jaGFyYWN0ZXIxNVxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihHcm91cHNWYWxpZGF0aW9uUGF0dGVybnMuc2hvcnROYW1lKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdFxyXG4gICAgICAgICAgICAgICAgPy5zaG9ydE5hbWUsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFMYWJlbD8uc2hvcnROYW1lLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkXHJcbiAgICAgICAgICAgICAgICA/LnNob3J0TmFtZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5URVhUX0FSRUEsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uZ3JvdXBTY29wZSxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogXCJncm91cFNjb3BlXCIsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuXHJcbiAgICAgICAgICAgICAgICA/Lmdyb3VwU2NvcGUsXHJcbiAgICAgICAgICAgICAgdmFsdWU6IFwiXCIsXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiXCIsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5zdXBwb3J0VGV4dD8uZ3JvdXBTY29wZSxcclxuICAgICAgICAgICAgICBpc1Jlc2l6ZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBtYXhMZW5ndGg6XHJcbiAgICAgICAgICAgICAgICBzY3JlZW5UZXh0cz8uY3JlYXRlR3JvdXA/LmNoYXJhY3RlckxpbWl0Py5jaGFyYWN0ZXIyMDAwLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBzY3JlZW5UZXh0cz8uY3JlYXRlR3JvdXA/LmNoYXJhY3RlckxpbWl0Py5jaGFyYWN0ZXIxNTAwXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKEdyb3Vwc1ZhbGlkYXRpb25QYXR0ZXJucy5ncm91cFNjb3BlKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTogdGhpcy5jcmVhdGVHcm91cFRleHQ/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdFxyXG4gICAgICAgICAgICAgICAgPy5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVHcm91cFRleHQ/LmxhYmVsPy5hcmlhTGFiZWw/Lmdyb3VwU2NvcGUsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWRcclxuICAgICAgICAgICAgICAgID8uZ3JvdXBTY29wZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgY2xpZW50IHNpZGUgdmFsaWRhdGlvbiBhbmQgZW1pdHMgY3JlYXRlIGdyb3VwIGluZm9ybWF0aW9uLlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm0gLUFycmF5IG9mIGZvcm1Hcm91cFxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVHcm91cENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRm9ybVN1Ym1pdChmb3JtOiBGb3JtR3JvdXBbXSk6IHZvaWQge1xyXG4gICAgZm9ybVswXT8ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgaWYgKGZvcm1bMF0uc3RhdHVzID09PSBcIlZBTElEXCIpIHtcclxuICAgICAgY29uc3QgZm9ybVJlc3BvbnNlID0gZm9ybVswXS5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICBjb25zdCBjcmVhdGVHcm91cFBheWxvYWQ6IENyZWF0ZUdyb3VwUGF5bG9hZCA9IHtcclxuICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICBncm91cE5hbWU6IGZvcm1SZXNwb25zZT8uZ3JvdXBOYW1lLFxyXG4gICAgICAgICAgZ3JvdXBTaG9ydE5hbWU6IGZvcm1SZXNwb25zZT8uc2hvcnROYW1lLFxyXG4gICAgICAgICAgZ3JvdXBUeXBlOiBmb3JtUmVzcG9uc2U/Lmdyb3VwVHlwZT8ubmFtZSxcclxuICAgICAgICAgIGdyb3VwRGVzYzogZm9ybVJlc3BvbnNlPy5ncm91cFNjb3BlLFxyXG4gICAgICAgICAgZ3JvdXBQYXJlbnRJZDogbnVsbCxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmdyb3Vwc1NlcnZpY2VcclxuICAgICAgICAuY3JlYXRlR3JvdXAoY3JlYXRlR3JvdXBQYXlsb2FkKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcz8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2UuZW1pdChyZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBlcnJvckNvZGVBcnI6IHN0cmluZ1tdID0gZXJyb3I/LmVycm9yPy5ib2R5Py5lcnJvckNvZGVzO1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlcnJvckNvZGVBcnIpKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgICAgICAgIGVycm9yQ29kZUFyci5mb3JFYWNoKChpdGVtOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZUtleSA9IGVycm9yQ29kZUFycltcclxuICAgICAgICAgICAgICAgICAgaW5kZXhcclxuICAgICAgICAgICAgICAgIF0gYXMga2V5b2YgdHlwZW9mIHRoaXMuY3JlYXRlR3JvdXBUZXh0Lm1lc3NhZ2UuZXJyb3IudW5pcXVlO1xyXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5lcnJvcj8udW5pcXVlW2Vycm9yTWVzc2FnZUtleV1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBcImN1c3RvbVwiLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxyXG4gICAgICAgICAgICAgICAgYWxlcnRUeXBlOiBBbGVydFR5cGUuRVJST1IsXHJcbiAgICAgICAgICAgICAgICBpc0Nsb3NlTmVlZGVkOiB0cnVlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yICYmIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLmdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGZvcm0gcmVmZXJlbmNlLlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRGb3JtR3JvdXBSZWZlcmVuY2UoZm9ybTogRm9ybUdyb3VwW10pIHtcclxuICAgIHRoaXMuZm9ybSA9IGZvcm1bMF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtIGNhbmNlbCBldmVudC5cclxuICAgKiBAcmV0dXJuIC1yZXR1cm5zIG5vdGhpbmdcclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlR3JvdXBDb21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVHcm91cENhbmNlbGxlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZUdyb3VwQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZWVlc2EtZHluYW1pYy1mb3JtXHJcbiAgKm5nSWY9XCJmb3JtR3JvdXBcIlxyXG4gIFtsZWZ0QnV0dG9uTGFiZWxdPVwibGVmdEJ1dHRvbkxhYmVsXCJcclxuICBbcmlnaHRCdXR0b25MYWJlbF09XCJyaWdodEJ1dHRvbkxhYmVsXCJcclxuICBbaXNMZWdlbmRWaXNpYmxlXT1cImlzTGVnZW5kVmlzaWJsZVwiXHJcbiAgW2NvbFdpZHRoXT1cImNvbFdpZHRoXCJcclxuICBbYWN0aW9uQnV0dG9uQWxpZ25dPVwiYWN0aW9uQnV0dG9uQWxpZ25cIlxyXG4gIFtmb3JtR3JvdXBzXT1cImZvcm1Hcm91cFwiXHJcbiAgW2lzTGVmdEJ1dHRvbk5lZWRlZF09XCJpc0xlZnRCdXR0b25OZWVkZWRcIlxyXG4gIChmb3JtU3VibWl0KT1cIm9uRm9ybVN1Ym1pdCgkZXZlbnQpXCJcclxuICAoZm9ybUxlZnRCdXR0b25DbGlja2VkKT1cImNyZWF0ZUdyb3VwQ2FuY2VsbGVkKClcIlxyXG4gIChmb3JtR3JvdXBzUmVmZXJlbmNlKT1cImdldEZvcm1Hcm91cFJlZmVyZW5jZSgkZXZlbnQpXCJcclxuPjwvaWVlZXNhLWR5bmFtaWMtZm9ybT4iXX0=
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { Component, Input, ViewEncapsulation, } from "@angular/core";
|
|
3
|
+
import { MatDialogModule } from "@angular/material/dialog";
|
|
4
|
+
import { CreateGroupComponent } from "./components/create-group/create-group.component";
|
|
5
|
+
import { ModalComponent } from "@ieeesa-npm/presentation";
|
|
6
|
+
import { ModalType, AlertsService, AlertType } from "@ieeesa-npm/utility";
|
|
7
|
+
import { Subject, takeUntil } from "rxjs";
|
|
8
|
+
import * as screenTexts from "./assets/constants.json";
|
|
9
|
+
import { GroupFunctionType } from "./models/group-function-type.model";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/material/dialog";
|
|
12
|
+
import * as i2 from "./services/groups.service";
|
|
13
|
+
import * as i3 from "@ieeesa-npm/utility";
|
|
14
|
+
/**
|
|
15
|
+
* Groups component is a wrapper or container component for groups management reusable component and in this component integrates all group management functionalities and this will be entry component for managing groups when it is consumed in other applications.
|
|
16
|
+
* @class GroupsComponent
|
|
17
|
+
*/
|
|
18
|
+
export class GroupsComponent {
|
|
19
|
+
constructor(
|
|
20
|
+
// eslint-disable-next-line no-unused-vars
|
|
21
|
+
dialog,
|
|
22
|
+
// eslint-disable-next-line no-unused-vars
|
|
23
|
+
groupsService,
|
|
24
|
+
// eslint-disable-next-line no-unused-vars
|
|
25
|
+
alertService // eslint-disable-next-line no-empty-function
|
|
26
|
+
) {
|
|
27
|
+
this.dialog = dialog;
|
|
28
|
+
this.groupsService = groupsService;
|
|
29
|
+
this.alertService = alertService;
|
|
30
|
+
this.destroy$ = new Subject();
|
|
31
|
+
this.createGroupText = screenTexts?.createGroup;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Initialize the groups component.
|
|
35
|
+
* @return -returns nothing
|
|
36
|
+
* @memberof GroupsComponent
|
|
37
|
+
*/
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
this.groupsService.setAppConfig(this.apiBaseURL, this.permissions);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Sets the dialog options for create group modal and calls openModal method.
|
|
43
|
+
* @return -returns nothing
|
|
44
|
+
* @memberof GroupsComponent
|
|
45
|
+
*/
|
|
46
|
+
openCreateGroupForm() {
|
|
47
|
+
const dialogOptions = {
|
|
48
|
+
heading: this.createGroupText?.heading,
|
|
49
|
+
isCloseNeeded: true,
|
|
50
|
+
componentReference: CreateGroupComponent,
|
|
51
|
+
modalType: ModalType.FORM,
|
|
52
|
+
};
|
|
53
|
+
this.functionType = GroupFunctionType.CREATE;
|
|
54
|
+
this.openModal(dialogOptions, "ieeesa-create-group");
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Opens modal component with for received params and handles form submission success and errors.
|
|
58
|
+
* @param {*} dialogOptions
|
|
59
|
+
* @param {string} [className]
|
|
60
|
+
* @return -returns nothing
|
|
61
|
+
* @memberof GroupsComponent
|
|
62
|
+
*/
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-inferrable-types
|
|
64
|
+
openModal(dialogOptions, className) {
|
|
65
|
+
className = className ?? "";
|
|
66
|
+
this.dialogRef = this.dialog.open(ModalComponent, {
|
|
67
|
+
data: dialogOptions,
|
|
68
|
+
width: "auto",
|
|
69
|
+
panelClass: ["ieeesa-modal-dialog", className],
|
|
70
|
+
ariaModal: true,
|
|
71
|
+
});
|
|
72
|
+
this.dialogRef?.componentInstance?.submitFormResponse
|
|
73
|
+
.pipe(takeUntil(this.destroy$))
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, no-unused-vars
|
|
75
|
+
.subscribe((result) => {
|
|
76
|
+
this.dialogRef.close();
|
|
77
|
+
if (this.functionType === GroupFunctionType.CREATE) {
|
|
78
|
+
this.alertService.showMessage({
|
|
79
|
+
status: "custom",
|
|
80
|
+
alertType: AlertType.SUCCESS,
|
|
81
|
+
isCloseNeeded: true,
|
|
82
|
+
message: this.createGroupText?.message?.success?.submission,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
this.dialogRef?.componentInstance?.formCancel
|
|
87
|
+
.pipe(takeUntil(this.destroy$))
|
|
88
|
+
.subscribe(() => {
|
|
89
|
+
this.dialogRef.close();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
|
|
94
|
+
* @memberof GroupsComponent
|
|
95
|
+
*/
|
|
96
|
+
ngOnDestroy() {
|
|
97
|
+
this.destroy$.next(true);
|
|
98
|
+
this.destroy$.unsubscribe();
|
|
99
|
+
}
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsComponent, deps: [{ token: i1.MatDialog }, { token: i2.GroupsService }, { token: i3.AlertsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
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 }); }
|
|
102
|
+
}
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsComponent, decorators: [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{ selector: "ieeesa-groups", standalone: true, imports: [CommonModule, MatDialogModule], encapsulation: ViewEncapsulation.None, providers: [AlertsService], template: "<button type=\"button\" (click)=\"openCreateGroupForm()\">Create Group</button>" }]
|
|
106
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.GroupsService }, { type: i3.AlertsService }]; }, propDecorators: { applicationId: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], apiBaseURL: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], permissions: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}] } });
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL2dyb3Vwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9ncm91cHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxXQUFXLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBRXZFOzs7R0FHRztBQVdILE1BQU0sT0FBTyxlQUFlO0lBVTFCO0lBQ0UsMENBQTBDO0lBQ25DLE1BQWlCO0lBQ3hCLDBDQUEwQztJQUNsQyxhQUE0QjtJQUNwQywwQ0FBMEM7SUFDbkMsWUFBMkIsQ0FBQyw2Q0FBNkM7O1FBSnpFLFdBQU0sR0FBTixNQUFNLENBQVc7UUFFaEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFN0IsaUJBQVksR0FBWixZQUFZLENBQWU7UUFmcEMsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBT3BELG9CQUFlLEdBQUcsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQVN4QyxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQjtRQUNqQixNQUFNLGFBQWEsR0FBRztZQUNwQixPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPO1lBQ3RDLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGtCQUFrQixFQUFFLG9CQUFvQjtZQUN4QyxTQUFTLEVBQUUsU0FBUyxDQUFDLElBQUk7U0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHNHQUFzRztJQUN0RyxTQUFTLENBQUMsYUFBa0IsRUFBRSxTQUFrQjtRQUM5QyxTQUFTLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNoRCxJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUUsTUFBTTtZQUNiLFVBQVUsRUFBRSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQztZQUM5QyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQjthQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixpSEFBaUg7YUFDaEgsU0FBUyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssaUJBQWlCLENBQUMsTUFBTSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztvQkFDNUIsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLFNBQVMsRUFBRSxTQUFTLENBQUMsT0FBTztvQkFDNUIsYUFBYSxFQUFFLElBQUk7b0JBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVTtpQkFDNUQsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVTthQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQXhGVSxlQUFlO2tHQUFmLGVBQWUsOEpBRmYsQ0FBQyxhQUFhLENBQUMsMEJDN0I1QixpRkFBMkUseUREeUIvRCxZQUFZLDhCQUFFLGVBQWU7OzJGQU01QixlQUFlO2tCQVYzQixTQUFTOytCQUVFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLGlCQUd6QixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsYUFBYSxDQUFDO3dKQU1qQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgQ3JlYXRlR3JvdXBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2NyZWF0ZS1ncm91cC9jcmVhdGUtZ3JvdXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEdyb3Vwc1NlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9ncm91cHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gXCJAaWVlZXNhLW5wbS9wcmVzZW50YXRpb25cIjtcclxuaW1wb3J0IHsgTW9kYWxUeXBlLCBBbGVydHNTZXJ2aWNlLCBBbGVydFR5cGUgfSBmcm9tIFwiQGllZWVzYS1ucG0vdXRpbGl0eVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0cyBmcm9tIFwiLi9hc3NldHMvY29uc3RhbnRzLmpzb25cIjtcclxuaW1wb3J0IHsgR3JvdXBGdW5jdGlvblR5cGUgfSBmcm9tIFwiLi9tb2RlbHMvZ3JvdXAtZnVuY3Rpb24tdHlwZS5tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIEdyb3VwcyBjb21wb25lbnQgaXMgYSB3cmFwcGVyIG9yIGNvbnRhaW5lciBjb21wb25lbnQgZm9yIGdyb3VwcyBtYW5hZ2VtZW50IHJldXNhYmxlIGNvbXBvbmVudCBhbmQgaW4gdGhpcyBjb21wb25lbnQgaW50ZWdyYXRlcyBhbGwgZ3JvdXAgbWFuYWdlbWVudCBmdW5jdGlvbmFsaXRpZXMgYW5kIHRoaXMgd2lsbCBiZSBlbnRyeSBjb21wb25lbnQgZm9yIG1hbmFnaW5nIGdyb3VwcyB3aGVuIGl0IGlzIGNvbnN1bWVkIGluIG90aGVyIGFwcGxpY2F0aW9ucy5cclxuICogQGNsYXNzIEdyb3Vwc0NvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogXCJpZWVlc2EtZ3JvdXBzXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZ3JvdXBzLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2dyb3Vwcy5jb21wb25lbnQuc2Nzc1wiXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW0FsZXJ0c1NlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JvdXBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGRpYWxvZ1JlZjogYW55O1xyXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uSWQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXBpQmFzZVVSTCE6IHN0cmluZztcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBJbnB1dCgpIHBlcm1pc3Npb25zITogYW55O1xyXG4gIGNyZWF0ZUdyb3VwVGV4dCA9IHNjcmVlblRleHRzPy5jcmVhdGVHcm91cDtcclxuICBmdW5jdGlvblR5cGUhOiBHcm91cEZ1bmN0aW9uVHlwZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGdyb3Vwc1NlcnZpY2U6IEdyb3Vwc1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0c1NlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBncm91cHMgY29tcG9uZW50LlxyXG4gICAqIEByZXR1cm4gLXJldHVybnMgbm90aGluZ1xyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXBzU2VydmljZS5zZXRBcHBDb25maWcodGhpcy5hcGlCYXNlVVJMLCB0aGlzLnBlcm1pc3Npb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGRpYWxvZyBvcHRpb25zIGZvciBjcmVhdGUgZ3JvdXAgbW9kYWwgYW5kIGNhbGxzIG9wZW5Nb2RhbCBtZXRob2QuXHJcbiAgICogQHJldHVybiAtcmV0dXJucyBub3RoaW5nXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9wZW5DcmVhdGVHcm91cEZvcm0oKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2dPcHRpb25zID0ge1xyXG4gICAgICBoZWFkaW5nOiB0aGlzLmNyZWF0ZUdyb3VwVGV4dD8uaGVhZGluZyxcclxuICAgICAgaXNDbG9zZU5lZWRlZDogdHJ1ZSxcclxuICAgICAgY29tcG9uZW50UmVmZXJlbmNlOiBDcmVhdGVHcm91cENvbXBvbmVudCxcclxuICAgICAgbW9kYWxUeXBlOiBNb2RhbFR5cGUuRk9STSxcclxuICAgIH07XHJcbiAgICB0aGlzLmZ1bmN0aW9uVHlwZSA9IEdyb3VwRnVuY3Rpb25UeXBlLkNSRUFURTtcclxuICAgIHRoaXMub3Blbk1vZGFsKGRpYWxvZ09wdGlvbnMsIFwiaWVlZXNhLWNyZWF0ZS1ncm91cFwiKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW5zIG1vZGFsIGNvbXBvbmVudCB3aXRoIGZvciByZWNlaXZlZCBwYXJhbXMgYW5kIGhhbmRsZXMgZm9ybSBzdWJtaXNzaW9uIHN1Y2Nlc3MgYW5kIGVycm9ycy5cclxuICAgKiBAcGFyYW0geyp9IGRpYWxvZ09wdGlvbnNcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2NsYXNzTmFtZV1cclxuICAgKiBAcmV0dXJuIC1yZXR1cm5zIG5vdGhpbmdcclxuICAgKiBAbWVtYmVyb2YgR3JvdXBzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzXHJcbiAgb3Blbk1vZGFsKGRpYWxvZ09wdGlvbnM6IGFueSwgY2xhc3NOYW1lPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjbGFzc05hbWUgPSBjbGFzc05hbWUgPz8gXCJcIjtcclxuICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiBkaWFsb2dPcHRpb25zLFxyXG4gICAgICB3aWR0aDogXCJhdXRvXCIsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFtcImllZWVzYS1tb2RhbC1kaWFsb2dcIiwgY2xhc3NOYW1lXSxcclxuICAgICAgYXJpYU1vZGFsOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZj8uY29tcG9uZW50SW5zdGFuY2U/LnN1Ym1pdEZvcm1SZXNwb25zZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIG5vLXVudXNlZC12YXJzXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICBpZiAodGhpcy5mdW5jdGlvblR5cGUgPT09IEdyb3VwRnVuY3Rpb25UeXBlLkNSRUFURSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2Uoe1xyXG4gICAgICAgICAgICBzdGF0dXM6IFwiY3VzdG9tXCIsXHJcbiAgICAgICAgICAgIGFsZXJ0VHlwZTogQWxlcnRUeXBlLlNVQ0NFU1MsXHJcbiAgICAgICAgICAgIGlzQ2xvc2VOZWVkZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuY3JlYXRlR3JvdXBUZXh0Py5tZXNzYWdlPy5zdWNjZXNzPy5zdWJtaXNzaW9uLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHRoaXMuZGlhbG9nUmVmPy5jb21wb25lbnRJbnN0YW5jZT8uZm9ybUNhbmNlbFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmdPbkRlc3Ryb3kgcGVyZm9ybXMgbmVjZXNzYXJ5IGNsZWFudXAgdGFza3MsIHN1Y2ggYXMgdW5zdWJzY3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiB3aGVuIHRoZSBjb21wb25lbnQgaXMgYmVpbmcgZGVzdHJveWVkLlxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5DcmVhdGVHcm91cEZvcm0oKVwiPkNyZWF0ZSBHcm91cDwvYnV0dG9uPiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GroupsModule {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: GroupsModule }); }
|
|
6
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsModule }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: GroupsModule, decorators: [{
|
|
9
|
+
type: NgModule,
|
|
10
|
+
args: [{
|
|
11
|
+
declarations: [],
|
|
12
|
+
imports: [],
|
|
13
|
+
exports: []
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL2dyb3Vwcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRekMsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZOytHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBTnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUNSO29CQUNELE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JvdXBzTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyb3VwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3JvdXBzL3NyYy9saWIvbW9kZWxzL2NyZWF0ZS1ncm91cC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDcmVhdGVHcm91cFBheWxvYWQge1xyXG4gIHBheWxvYWQ6IHtcclxuICAgIGdyb3VwTmFtZTogc3RyaW5nO1xyXG4gICAgZ3JvdXBTaG9ydE5hbWU6IHN0cmluZztcclxuICAgIGdyb3VwVHlwZTogc3RyaW5nO1xyXG4gICAgZ3JvdXBEZXNjPzogc3RyaW5nO1xyXG4gICAgZ3JvdXBQYXJlbnRJZDogbnVsbDtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUdyb3VwUmVzcG9uc2Uge1xyXG4gIHN0YXR1czogYm9vbGVhbjtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgYm9keT86IHN0cmluZyB8IG51bGwgfCB7IGVycm9yQ29kZXM6IHN0cmluZ1tdIH07XHJcbn0iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
export var GroupFunctionType;
|
|
3
|
+
(function (GroupFunctionType) {
|
|
4
|
+
GroupFunctionType["CREATE"] = "CREATE";
|
|
5
|
+
GroupFunctionType["EDIT"] = "EDIT";
|
|
6
|
+
})(GroupFunctionType || (GroupFunctionType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtZnVuY3Rpb24tdHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL21vZGVscy9ncm91cC1mdW5jdGlvbi10eXBlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQ3pCLHNDQUFpQixDQUFBO0lBQ2pCLGtDQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xyXG5leHBvcnQgZW51bSBHcm91cEZ1bmN0aW9uVHlwZSB7XHJcbiAgICBDUkVBVEUgPSBcIkNSRUFURVwiLFxyXG4gICAgRURJVCA9IFwiRURJVFwiXHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtdHlwZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9tb2RlbHMvZ3JvdXAtdHlwZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgR3JvdXBUeXBlUmVzcG9uc2Uge1xyXG4gIHN0YXR1czogYm9vbGVhbjtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgYm9keToge1xyXG4gICAgY29uZmlnRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgbm8tdXNlLWJlZm9yZS1kZWZpbmVcclxuICAgIGNvbmZpZ0ZpZWxkVmFsdWU6IHtba2V5OiBzdHJpbmddOiBHcm91cFR5cGV9XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cFR5cGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBsZWdlbmRDb2xvcjogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgYnVzaW5lc3NSdWxlOiB7XHJcbiAgICBhbGxvd1N1Ykdyb3VwOiBib29sZWFuO1xyXG4gICAgYWxsb3dSb3N0ZXI6IGJvb2xlYW47XHJcbiAgICByb3N0ZXJUeXBlOiBzdHJpbmc7XHJcbiAgICBhbGxvd0FsdGVybmF0ZVZvdGluZzogYm9vbGVhbjtcclxuICAgIG1hbmFnZVJvc3RlckluQXBwOiBib29sZWFuO1xyXG4gICAgYWxsb3dlZEdyb3VwVHlwZTogc3RyaW5nW107XHJcbiAgIH07XHJcbn0iXX0=
|