@messaia/cdk 13.3.5-rc09 → 13.3.5-rc10
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/esm2020/lib/forms/functions/decorators.mjs +43 -31
- package/esm2020/lib/forms/models/form-field-group-definition.mjs +1 -1
- package/fesm2015/messaia-cdk.mjs +42 -30
- package/fesm2015/messaia-cdk.mjs.map +1 -1
- package/fesm2020/messaia-cdk.mjs +42 -30
- package/fesm2020/messaia-cdk.mjs.map +1 -1
- package/lib/forms/functions/decorators.d.ts +3 -2
- package/lib/forms/models/form-field-group-definition.d.ts +1 -0
- package/package.json +1 -1
|
@@ -10,18 +10,18 @@ import { getFormGroups } from "./functions";
|
|
|
10
10
|
* @param args
|
|
11
11
|
* @returns
|
|
12
12
|
*/
|
|
13
|
-
export function FormField(args) {
|
|
13
|
+
export function FormField(args = null) {
|
|
14
14
|
return function (target, propertyKey) {
|
|
15
15
|
/* Get property name */
|
|
16
|
-
var propertyName = args
|
|
16
|
+
var propertyName = args?.name || propertyKey;
|
|
17
17
|
/* Get property type */
|
|
18
18
|
var propertyType = Reflect.getMetadata("design:type", target, propertyKey)?.name;
|
|
19
19
|
/* Create table column */
|
|
20
20
|
var formField = new FormFieldDefinition(Object.assign(args, {
|
|
21
|
-
name: args
|
|
22
|
-
header: args
|
|
23
|
-
autocompleteTemplate: args
|
|
24
|
-
chipTemplate: args
|
|
21
|
+
name: args?.name || propertyKey,
|
|
22
|
+
header: args?.header || Reflect.getMetadata(headerMetadataKey, target, propertyKey) || propertyName,
|
|
23
|
+
autocompleteTemplate: args?.autocompleteTemplate || ((option) => option[formField.autocompleteText]),
|
|
24
|
+
chipTemplate: args?.chipTemplate || ((chip) => chip[formField.chipText])
|
|
25
25
|
}));
|
|
26
26
|
/* Type enum */
|
|
27
27
|
if (formField.enumType) {
|
|
@@ -67,22 +67,29 @@ export function FormField(args) {
|
|
|
67
67
|
let formFields = previousFormFields ? previousFormFields.concat([formField]) : [formField];
|
|
68
68
|
/* Override the result in the metadata */
|
|
69
69
|
Reflect.defineMetadata(formFieldsMetadataKey, formFields, target);
|
|
70
|
-
/*
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
70
|
+
/* Get old form field groups */
|
|
71
|
+
const previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target) || [];
|
|
72
|
+
/* Get the group by group name from the previous saved groups */
|
|
73
|
+
var group = previousGroups?.filter(x => x.name == formField.groupName)[0];
|
|
74
|
+
/* If the group doesn't exist, create a new one and add it to the previous groups */
|
|
75
|
+
if (!group) {
|
|
76
|
+
group = new FormFieldGroupDefinition({ index: 0, name: formField.groupName || null, header: formField.groupHeader });
|
|
77
|
+
previousGroups.push(group);
|
|
78
|
+
}
|
|
79
|
+
/* Add the fields to the current group */
|
|
80
|
+
group.fields.push(formField);
|
|
81
|
+
/* Group the field by 'row' */
|
|
82
|
+
group.groups = Object.values((group.fields).reduce(function (r, a) {
|
|
83
|
+
r[a.row] = (r[a.row] || []);
|
|
84
|
+
r[a.row].push(a);
|
|
85
|
+
r[a.row].forEach((x, i) => x.index = x.index || i);
|
|
86
|
+
Utils.sortArray(r[a.row], 'index');
|
|
87
|
+
return r;
|
|
88
|
+
}, Object.create(null)));
|
|
89
|
+
/* Sort the groups by index */
|
|
90
|
+
Utils.sortArray(previousGroups, 'index');
|
|
84
91
|
/* Override the result in the metadata */
|
|
85
|
-
Reflect.defineMetadata(formFieldGroupsMetadataKey,
|
|
92
|
+
Reflect.defineMetadata(formFieldGroupsMetadataKey, previousGroups, target);
|
|
86
93
|
};
|
|
87
94
|
}
|
|
88
95
|
/**
|
|
@@ -92,32 +99,37 @@ export function FormField(args) {
|
|
|
92
99
|
* @param init
|
|
93
100
|
* @returns
|
|
94
101
|
*/
|
|
95
|
-
export function FormFieldGroup(type,
|
|
102
|
+
export function FormFieldGroup(type, args = null) {
|
|
96
103
|
return function (target, propertyKey) {
|
|
97
104
|
/* Create an instance of the group object */
|
|
98
105
|
var instance = Reflect.construct(type, []);
|
|
99
106
|
/* Get from groups */
|
|
100
107
|
var groups = getFormGroups(instance);
|
|
108
|
+
/* Get the header of the groups or create one using the property name */
|
|
109
|
+
var groupHeader = args?.header || Reflect.getMetadata(headerMetadataKey, target, propertyKey) || propertyKey;
|
|
101
110
|
/* Get the fields from the groups */
|
|
102
|
-
groups?.forEach(x => {
|
|
111
|
+
groups?.forEach((x, i) => {
|
|
103
112
|
Object.assign(x, {
|
|
104
113
|
name: propertyKey,
|
|
105
|
-
header:
|
|
114
|
+
header: groupHeader,
|
|
106
115
|
type: type,
|
|
107
|
-
instance:
|
|
116
|
+
instance: args?.instance || instance,
|
|
117
|
+
index: args?.index || i
|
|
108
118
|
});
|
|
109
119
|
/* Set the name of the group in the fields */
|
|
110
120
|
x.fields.forEach(y => Object.assign(y, {
|
|
111
121
|
groupName: propertyKey,
|
|
112
|
-
groupHeader:
|
|
122
|
+
groupHeader: groupHeader
|
|
113
123
|
}));
|
|
114
124
|
});
|
|
115
125
|
/* Get old form field groups */
|
|
116
|
-
|
|
117
|
-
/*
|
|
118
|
-
|
|
126
|
+
var previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
|
|
127
|
+
/* Add the current groups to the previous groups */
|
|
128
|
+
previousGroups = (previousGroups ? previousGroups.concat(groups) : groups);
|
|
129
|
+
/* Sort the groups by index */
|
|
130
|
+
Utils.sortArray(previousGroups, 'index');
|
|
119
131
|
/* Override the result in the metadata */
|
|
120
|
-
Reflect.defineMetadata(formFieldGroupsMetadataKey,
|
|
132
|
+
Reflect.defineMetadata(formFieldGroupsMetadataKey, previousGroups, target);
|
|
121
133
|
};
|
|
122
134
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm1zL2Z1bmN0aW9ucy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFrQztJQUN4RCxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLHVCQUF1QjtRQUN2QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQztRQUU1Qyx1QkFBdUI7UUFDdkIsSUFBSSxZQUFZLEdBQVcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQztRQUV6Rix5QkFBeUI7UUFDekIsSUFBSSxTQUFTLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBdUI7WUFDN0UsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksV0FBVztZQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLGlCQUFp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QUUsV0FBbUI7UUFDN0MsNENBQTRDO1FBQzVDLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLHFCQUFxQjtRQUNyQixJQUFJLE1BQU0sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckMsb0NBQW9DO1FBQ3BDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7Z0JBQ2IsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxJQUFJO2dCQUNWLFFBQVEsRUFBRSxJQUFJLElBQUksUUFBUTthQUM3QixDQUFDLENBQUM7WUFFSCw2Q0FBNkM7WUFDN0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtnQkFDbkMsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFdBQVcsRUFBRSxNQUFNO2FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUM7UUFFSCwrQkFBK0I7UUFDL0IsTUFBTSxjQUFjLEdBQStCLE9BQU8sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0csaUNBQWlDO1FBQ2pDLElBQUksY0FBYyxHQUErQixjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUV6Ryx5Q0FBeUM7UUFDekMsT0FBTyxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0UsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBoZWFkZXJNZXRhZGF0YUtleSB9IGZyb20gXCIuLi8uLi9jb21tb24vY29uc3RhbnRzL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi9jb21tb24vZnVuY3Rpb25zL3V0aWxzXCI7XHJcbmltcG9ydCB7IGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCBmb3JtRmllbGRzTWV0YWRhdGFLZXkgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRUeXBlIH0gZnJvbSBcIi4uL2VudW1zL2Zvcm0tZmllbGQtdHlwZVwiO1xyXG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9mb3JtLWZpZWxkLWRlZmluaXRpb25cIjtcclxuaW1wb3J0IHsgRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9mb3JtLWZpZWxkLWdyb3VwLWRlZmluaXRpb25cIjtcclxuaW1wb3J0IHsgZ2V0Rm9ybUdyb3VwcyB9IGZyb20gXCIuL2Z1bmN0aW9uc1wiO1xyXG5cclxuLyoqXHJcbiAqIFByb3BlcnR5IGRlY29yYXRvciB0byBjcmVhdGUgZm9ybSBmaWVsZHNcclxuICogQHBhcmFtIGFyZ3MgXHJcbiAqIEByZXR1cm5zIFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEZvcm1GaWVsZChhcmdzOiBQYXJ0aWFsPEZvcm1GaWVsZERlZmluaXRpb24+KTogRnVuY3Rpb24ge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykge1xyXG4gICAgICAgIC8qIEdldCBwcm9wZXJ0eSBuYW1lICovXHJcbiAgICAgICAgdmFyIHByb3BlcnR5TmFtZSA9IGFyZ3MubmFtZSB8fCBwcm9wZXJ0eUtleTtcclxuXHJcbiAgICAgICAgLyogR2V0IHByb3BlcnR5IHR5cGUgKi9cclxuICAgICAgICB2YXIgcHJvcGVydHlUeXBlOiBzdHJpbmcgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk/Lm5hbWU7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSB0YWJsZSBjb2x1bW4gKi9cclxuICAgICAgICB2YXIgZm9ybUZpZWxkID0gbmV3IEZvcm1GaWVsZERlZmluaXRpb24oT2JqZWN0LmFzc2lnbihhcmdzLCA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XHJcbiAgICAgICAgICAgIG5hbWU6IGFyZ3MubmFtZSB8fCBwcm9wZXJ0eUtleSxcclxuICAgICAgICAgICAgaGVhZGVyOiBhcmdzLmhlYWRlciB8fCBSZWZsZWN0LmdldE1ldGFkYXRhKGhlYWRlck1ldGFkYXRhS2V5LCB0YXJnZXQsIHByb3BlcnR5S2V5KSB8fCBwcm9wZXJ0eU5hbWUsXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZVRlbXBsYXRlOiBhcmdzLmF1dG9jb21wbGV0ZVRlbXBsYXRlIHx8ICgob3B0aW9uOiBhbnkpID0+IG9wdGlvbltmb3JtRmllbGQuYXV0b2NvbXBsZXRlVGV4dF0pLFxyXG4gICAgICAgICAgICBjaGlwVGVtcGxhdGU6IGFyZ3MuY2hpcFRlbXBsYXRlIHx8ICgoY2hpcDogYW55KSA9PiBjaGlwW2Zvcm1GaWVsZC5jaGlwVGV4dF0pXHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAvKiBUeXBlIGVudW0gKi9cclxuICAgICAgICBpZiAoZm9ybUZpZWxkLmVudW1UeXBlKSB7XHJcbiAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLkVudW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBUeXBlIFZkU2VsZWN0ICovXHJcbiAgICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmVuZHBvaW50KSB7XHJcbiAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLlZkU2VsZWN0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogVHlwZSBTZWxlY3QgKi9cclxuICAgICAgICBlbHNlIGlmIChmb3JtRmllbGQub3B0aW9ucykge1xyXG4gICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5TZWxlY3Q7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBUeXBlIFRleHRBcmVhICovXHJcbiAgICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLnJvd3MpIHtcclxuICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuVGV4dEFyZWE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBUeXBlIEZpbGUgKi9cclxuICAgICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmlsZVBhdGgpIHtcclxuICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuRmlsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIE90aGVyIHR5cGVzICovXHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHN3aXRjaCAocHJvcGVydHlUeXBlLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuVGV4dDtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQuaW5wdXRUeXBlIHx8PSAnbnVtYmVyJztcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRlJzpcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5EYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLkNoZWNrYm94O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuVGV4dDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogR2V0IG9sZCBmb3JtIGZpZWxkcyAqL1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzRm9ybUZpZWxkczogRm9ybUZpZWxkRGVmaW5pdGlvbltdID0gUmVmbGVjdC5nZXRNZXRhZGF0YShmb3JtRmllbGRzTWV0YWRhdGFLZXksIHRhcmdldCk7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSBhIGNvcHkgb2YgdGhlIHJlc3VsdCAqL1xyXG4gICAgICAgIGxldCBmb3JtRmllbGRzOiBGb3JtRmllbGREZWZpbml0aW9uW10gPSBwcmV2aW91c0Zvcm1GaWVsZHMgPyBwcmV2aW91c0Zvcm1GaWVsZHMuY29uY2F0KFtmb3JtRmllbGRdKSA6IFtmb3JtRmllbGRdO1xyXG5cclxuICAgICAgICAvKiBPdmVycmlkZSB0aGUgcmVzdWx0IGluIHRoZSBtZXRhZGF0YSAqL1xyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoZm9ybUZpZWxkc01ldGFkYXRhS2V5LCBmb3JtRmllbGRzLCB0YXJnZXQpO1xyXG5cclxuICAgICAgICAvKiBHcm91cCB0aGUgZmllbGRzICovXHJcbiAgICAgICAgdmFyIGdyb3VwcyA9IEFycmF5LmZyb20oVXRpbHMuZ3JvdXBBcnJheUJ5KGZvcm1GaWVsZHMsIHggPT4geC5ncm91cE5hbWUpKVxyXG4gICAgICAgICAgICAubWFwKChbXywgdmFsdWVdKSA9PiBuZXcgRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IHZhbHVlWzBdLmdyb3VwTmFtZSB8fCBudWxsLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB2YWx1ZVswXS5ncm91cEhlYWRlcixcclxuICAgICAgICAgICAgICAgIGZpZWxkczogdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBncm91cHM6IChPYmplY3QudmFsdWVzKCh2YWx1ZSkucmVkdWNlKGZ1bmN0aW9uIChyOiBbRm9ybUZpZWxkRGVmaW5pdGlvbltdXSwgYTogRm9ybUZpZWxkRGVmaW5pdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJbYS5yb3ddID0gKHJbYS5yb3ddIHx8IFtdKTtcclxuICAgICAgICAgICAgICAgICAgICByW2Eucm93XS5wdXNoKGEpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJbYS5yb3ddLmZvckVhY2goKHgsIGkpID0+IHguaW5kZXggPSB4LmluZGV4IHx8IGkpO1xyXG4gICAgICAgICAgICAgICAgICAgIFV0aWxzLnNvcnRBcnJheShyW2Eucm93XSwgJ2luZGV4Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgICAgICAgICAgICB9LCBPYmplY3QuY3JlYXRlKG51bGwpKSkgYXMgW0Zvcm1GaWVsZERlZmluaXRpb25bXV0pXHJcbiAgICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCBncm91cHMsIHRhcmdldCk7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIHRvIGNyZWF0ZSBmb3JtIGZpZWxkc1xyXG4gKiBAcGFyYW0gdHlwZSBcclxuICogQHBhcmFtIGhlYWRlciBcclxuICogQHBhcmFtIGluaXQgXHJcbiAqIEByZXR1cm5zIFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIEZvcm1GaWVsZEdyb3VwKHR5cGU6IFR5cGU8YW55PiwgaGVhZGVyOiBzdHJpbmcsIGluaXQ/OiBhbnkpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgLyogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBncm91cCBvYmplY3QgKi9cclxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBSZWZsZWN0LmNvbnN0cnVjdCh0eXBlLCBbXSk7XHJcblxyXG4gICAgICAgIC8qIEdldCBmcm9tIGdyb3VwcyAqL1xyXG4gICAgICAgIHZhciBncm91cHMgPSBnZXRGb3JtR3JvdXBzKGluc3RhbmNlKTtcclxuXHJcbiAgICAgICAgLyogR2V0IHRoZSBmaWVsZHMgZnJvbSB0aGUgZ3JvdXBzICovXHJcbiAgICAgICAgZ3JvdXBzPy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHgsIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IHByb3BlcnR5S2V5LFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyOiBoZWFkZXIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgICAgaW5zdGFuY2U6IGluaXQgfHwgaW5zdGFuY2VcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvKiBTZXQgdGhlIG5hbWUgb2YgdGhlIGdyb3VwIGluIHRoZSBmaWVsZHMgKi9cclxuICAgICAgICAgICAgeC5maWVsZHMuZm9yRWFjaCh5ID0+IE9iamVjdC5hc3NpZ24oeSwge1xyXG4gICAgICAgICAgICAgICAgZ3JvdXBOYW1lOiBwcm9wZXJ0eUtleSxcclxuICAgICAgICAgICAgICAgIGdyb3VwSGVhZGVyOiBoZWFkZXJcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvKiBHZXQgb2xkIGZvcm0gZmllbGQgZ3JvdXBzICovXHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNHcm91cHM6IEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbltdID0gUmVmbGVjdC5nZXRNZXRhZGF0YShmb3JtRmllbGRHcm91cHNNZXRhZGF0YUtleSwgdGFyZ2V0KTtcclxuXHJcbiAgICAgICAgLyogQ3JlYXRlIGEgY29weSBvZiB0aGUgcmVzdWx0ICovXHJcbiAgICAgICAgbGV0IGNvbWJpbmVkR3JvdXBzOiBGb3JtRmllbGRHcm91cERlZmluaXRpb25bXSA9IHByZXZpb3VzR3JvdXBzID8gcHJldmlvdXNHcm91cHMuY29uY2F0KGdyb3VwcykgOiBncm91cHM7XHJcblxyXG4gICAgICAgIC8qIE92ZXJyaWRlIHRoZSByZXN1bHQgaW4gdGhlIG1ldGFkYXRhICovXHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShmb3JtRmllbGRHcm91cHNNZXRhZGF0YUtleSwgY29tYmluZWRHcm91cHMsIHRhcmdldCk7XHJcbiAgICB9O1xyXG59Il19
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm1zL2Z1bmN0aW9ucy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxPQUFxQyxJQUFJO0lBQy9ELE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsdUJBQXVCO1FBQ3ZCLElBQUksWUFBWSxHQUFHLElBQUksRUFBRSxJQUFJLElBQUksV0FBVyxDQUFDO1FBRTdDLHVCQUF1QjtRQUN2QixJQUFJLFlBQVksR0FBVyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDO1FBRXpGLHlCQUF5QjtRQUN6QixJQUFJLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUF1QjtZQUM3RSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxXQUFXO1lBQy9CLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMs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QUNuQyxTQUFTLEVBQUUsV0FBVztnQkFDdEIsV0FBVyxFQUFFLFdBQVc7YUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQztRQUVILCtCQUErQjtRQUMvQixJQUFJLGNBQWMsR0FBK0IsT0FBTyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV6RyxtREFBbUQ7UUFDbkQsY0FBYyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzRSw4QkFBOEI7UUFDOUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFekMseUNBQXlDO1FBQ3pDLE9BQU8sQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9FLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgaGVhZGVyTWV0YWRhdGFLZXkgfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbnN0YW50cy9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tIFwiLi4vLi4vY29tbW9uL2Z1bmN0aW9ucy91dGlsc1wiO1xyXG5pbXBvcnQgeyBmb3JtRmllbGRHcm91cHNNZXRhZGF0YUtleSwgZm9ybUZpZWxkc01ldGFkYXRhS2V5IH0gZnJvbSBcIi4uL2NvbnN0YW50cy9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9mb3JtLWZpZWxkLXR5cGVcIjtcclxuaW1wb3J0IHsgRm9ybUZpZWxkRGVmaW5pdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvZm9ybS1maWVsZC1kZWZpbml0aW9uXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbiB9IGZyb20gXCIuLi9tb2RlbHMvZm9ybS1maWVsZC1ncm91cC1kZWZpbml0aW9uXCI7XHJcbmltcG9ydCB7IGdldEZvcm1Hcm91cHMgfSBmcm9tIFwiLi9mdW5jdGlvbnNcIjtcclxuXHJcbi8qKlxyXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgdG8gY3JlYXRlIGZvcm0gZmllbGRzXHJcbiAqIEBwYXJhbSBhcmdzIFxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBGb3JtRmllbGQoYXJnczogUGFydGlhbDxGb3JtRmllbGREZWZpbml0aW9uPiA9IG51bGwpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgLyogR2V0IHByb3BlcnR5IG5hbWUgKi9cclxuICAgICAgICB2YXIgcHJvcGVydHlOYW1lID0gYXJncz8ubmFtZSB8fCBwcm9wZXJ0eUtleTtcclxuXHJcbiAgICAgICAgLyogR2V0IHByb3BlcnR5IHR5cGUgKi9cclxuICAgICAgICB2YXIgcHJvcGVydHlUeXBlOiBzdHJpbmcgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgdGFyZ2V0LCBwcm9wZXJ0eUtleSk/Lm5hbWU7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSB0YWJsZSBjb2x1bW4gKi9cclxuICAgICAgICB2YXIgZm9ybUZpZWxkID0gbmV3IEZvcm1GaWVsZERlZmluaXRpb24oT2JqZWN0LmFzc2lnbihhcmdzLCA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XHJcbiAgICAgICAgICAgIG5hbWU6IGFyZ3M/Lm5hbWUgfHwgcHJvcGVydHlLZXksXHJcbiAgICAgICAgICAgIGhlYWRlcjogYXJncz8uaGVhZGVyIHx8IFJlZmxlY3QuZ2V0TWV0YWRhdGEoaGVhZGVyTWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkpIHx8IHByb3BlcnR5TmFtZSxcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlVGVtcGxhdGU6IGFyZ3M/LmF1dG9jb21wbGV0ZVRlbXBsYXRlIHx8ICgob3B0aW9uOiBhbnkpID0+IG9wdGlvbltmb3JtRmllbGQuYXV0b2NvbXBsZXRlVGV4dF0pLFxyXG4gICAgICAgICAgICBjaGlwVGVtcGxhdGU6IGFyZ3M/LmNoaXBUZW1wbGF0ZSB8fCAoKGNoaXA6IGFueSkgPT4gY2hpcFtmb3JtRmllbGQuY2hpcFRleHRdKVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgLyogVHlwZSBlbnVtICovXHJcbiAgICAgICAgaWYgKGZvcm1GaWVsZC5lbnVtVHlwZSkge1xyXG4gICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5FbnVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogVHlwZSBWZFNlbGVjdCAqL1xyXG4gICAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5lbmRwb2ludCkge1xyXG4gICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5WZFNlbGVjdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFR5cGUgU2VsZWN0ICovXHJcbiAgICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLm9wdGlvbnMpIHtcclxuICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuU2VsZWN0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogVHlwZSBUZXh0QXJlYSAqL1xyXG4gICAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5yb3dzKSB7XHJcbiAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLlRleHRBcmVhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogVHlwZSBGaWxlICovXHJcbiAgICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpbGVQYXRoKSB7XHJcbiAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLkZpbGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBPdGhlciB0eXBlcyAqL1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHByb3BlcnR5VHlwZS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLlRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUZpZWxkLmlucHV0VHlwZSB8fD0gJ251bWJlcic7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuRGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5DaGVja2JveDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLlRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEdldCBvbGQgZm9ybSBmaWVsZHMgKi9cclxuICAgICAgICBjb25zdCBwcmV2aW91c0Zvcm1GaWVsZHM6IEZvcm1GaWVsZERlZmluaXRpb25bXSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoZm9ybUZpZWxkc01ldGFkYXRhS2V5LCB0YXJnZXQpO1xyXG5cclxuICAgICAgICAvKiBDcmVhdGUgYSBjb3B5IG9mIHRoZSByZXN1bHQgKi9cclxuICAgICAgICBsZXQgZm9ybUZpZWxkczogRm9ybUZpZWxkRGVmaW5pdGlvbltdID0gcHJldmlvdXNGb3JtRmllbGRzID8gcHJldmlvdXNGb3JtRmllbGRzLmNvbmNhdChbZm9ybUZpZWxkXSkgOiBbZm9ybUZpZWxkXTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKGZvcm1GaWVsZHNNZXRhZGF0YUtleSwgZm9ybUZpZWxkcywgdGFyZ2V0KTtcclxuXHJcbiAgICAgICAgLyogR2V0IG9sZCBmb3JtIGZpZWxkIGdyb3VwcyAqL1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzR3JvdXBzOiBGb3JtRmllbGRHcm91cERlZmluaXRpb25bXSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXksIHRhcmdldCkgfHwgW107XHJcblxyXG4gICAgICAgIC8qIEdldCB0aGUgZ3JvdXAgYnkgZ3JvdXAgbmFtZSBmcm9tIHRoZSBwcmV2aW91cyBzYXZlZCBncm91cHMgKi9cclxuICAgICAgICB2YXIgZ3JvdXAgPSBwcmV2aW91c0dyb3Vwcz8uZmlsdGVyKHggPT4geC5uYW1lID09IGZvcm1GaWVsZC5ncm91cE5hbWUpWzBdO1xyXG5cclxuICAgICAgICAvKiBJZiB0aGUgZ3JvdXAgZG9lc24ndCBleGlzdCwgY3JlYXRlIGEgbmV3IG9uZSBhbmQgYWRkIGl0IHRvIHRoZSBwcmV2aW91cyBncm91cHMgKi9cclxuICAgICAgICBpZiAoIWdyb3VwKSB7XHJcbiAgICAgICAgICAgIGdyb3VwID0gbmV3IEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbih7IGluZGV4OiAwLCBuYW1lOiBmb3JtRmllbGQuZ3JvdXBOYW1lIHx8IG51bGwsIGhlYWRlcjogZm9ybUZpZWxkLmdyb3VwSGVhZGVyIH0pO1xyXG4gICAgICAgICAgICBwcmV2aW91c0dyb3Vwcy5wdXNoKGdyb3VwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEFkZCB0aGUgZmllbGRzIHRvIHRoZSBjdXJyZW50IGdyb3VwICovXHJcbiAgICAgICAgZ3JvdXAuZmllbGRzLnB1c2goZm9ybUZpZWxkKTtcclxuXHJcbiAgICAgICAgLyogR3JvdXAgdGhlIGZpZWxkIGJ5ICdyb3cnICovXHJcbiAgICAgICAgZ3JvdXAuZ3JvdXBzID0gKE9iamVjdC52YWx1ZXMoKGdyb3VwLmZpZWxkcykucmVkdWNlKGZ1bmN0aW9uIChyOiBbRm9ybUZpZWxkRGVmaW5pdGlvbltdXSwgYTogRm9ybUZpZWxkRGVmaW5pdGlvbikge1xyXG4gICAgICAgICAgICByW2Eucm93XSA9IChyW2Eucm93XSB8fCBbXSk7XHJcbiAgICAgICAgICAgIHJbYS5yb3ddLnB1c2goYSk7XHJcbiAgICAgICAgICAgIHJbYS5yb3ddLmZvckVhY2goKHgsIGkpID0+IHguaW5kZXggPSB4LmluZGV4IHx8IGkpO1xyXG4gICAgICAgICAgICBVdGlscy5zb3J0QXJyYXkoclthLnJvd10sICdpbmRleCcpO1xyXG4gICAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICB9LCBPYmplY3QuY3JlYXRlKG51bGwpKSkgYXMgW0Zvcm1GaWVsZERlZmluaXRpb25bXV0pO1xyXG5cclxuICAgICAgICAvKiBTb3J0IHRoZSBncm91cHMgYnkgaW5kZXggKi9cclxuICAgICAgICBVdGlscy5zb3J0QXJyYXkocHJldmlvdXNHcm91cHMsICdpbmRleCcpO1xyXG5cclxuICAgICAgICAvKiBPdmVycmlkZSB0aGUgcmVzdWx0IGluIHRoZSBtZXRhZGF0YSAqL1xyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXksIHByZXZpb3VzR3JvdXBzLCB0YXJnZXQpO1xyXG4gICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByb3BlcnR5IGRlY29yYXRvciB0byBjcmVhdGUgZm9ybSBmaWVsZHNcclxuICogQHBhcmFtIHR5cGUgXHJcbiAqIEBwYXJhbSBoZWFkZXIgXHJcbiAqIEBwYXJhbSBpbml0IFxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBGb3JtRmllbGRHcm91cCh0eXBlOiBUeXBlPGFueT4sIGFyZ3M6IFBhcnRpYWw8Rm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uPiA9IG51bGwpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgLyogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBncm91cCBvYmplY3QgKi9cclxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBSZWZsZWN0LmNvbnN0cnVjdCh0eXBlLCBbXSk7XHJcblxyXG4gICAgICAgIC8qIEdldCBmcm9tIGdyb3VwcyAqL1xyXG4gICAgICAgIHZhciBncm91cHMgPSBnZXRGb3JtR3JvdXBzKGluc3RhbmNlKTtcclxuXHJcbiAgICAgICAgLyogR2V0IHRoZSBoZWFkZXIgb2YgdGhlIGdyb3VwcyBvciBjcmVhdGUgb25lIHVzaW5nIHRoZSBwcm9wZXJ0eSBuYW1lICovXHJcbiAgICAgICAgdmFyIGdyb3VwSGVhZGVyID0gYXJncz8uaGVhZGVyIHx8IFJlZmxlY3QuZ2V0TWV0YWRhdGEoaGVhZGVyTWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkpIHx8IHByb3BlcnR5S2V5O1xyXG5cclxuICAgICAgICAvKiBHZXQgdGhlIGZpZWxkcyBmcm9tIHRoZSBncm91cHMgKi9cclxuICAgICAgICBncm91cHM/LmZvckVhY2goKHgsIGkpID0+IHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih4LCA8Rm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uPntcclxuICAgICAgICAgICAgICAgIG5hbWU6IHByb3BlcnR5S2V5LFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyOiBncm91cEhlYWRlcixcclxuICAgICAgICAgICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgICAgICAgICAgICBpbnN0YW5jZTogYXJncz8uaW5zdGFuY2UgfHwgaW5zdGFuY2UsXHJcbiAgICAgICAgICAgICAgICBpbmRleDogYXJncz8uaW5kZXggfHwgaVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIC8qIFNldCB0aGUgbmFtZSBvZiB0aGUgZ3JvdXAgaW4gdGhlIGZpZWxkcyAqL1xyXG4gICAgICAgICAgICB4LmZpZWxkcy5mb3JFYWNoKHkgPT4gT2JqZWN0LmFzc2lnbih5LCB7XHJcbiAgICAgICAgICAgICAgICBncm91cE5hbWU6IHByb3BlcnR5S2V5LFxyXG4gICAgICAgICAgICAgICAgZ3JvdXBIZWFkZXI6IGdyb3VwSGVhZGVyXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLyogR2V0IG9sZCBmb3JtIGZpZWxkIGdyb3VwcyAqL1xyXG4gICAgICAgIHZhciBwcmV2aW91c0dyb3VwczogRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uW10gPSBSZWZsZWN0LmdldE1ldGFkYXRhKGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCB0YXJnZXQpO1xyXG5cclxuICAgICAgICAvKiBBZGQgdGhlIGN1cnJlbnQgZ3JvdXBzIHRvIHRoZSBwcmV2aW91cyBncm91cHMgKi9cclxuICAgICAgICBwcmV2aW91c0dyb3VwcyA9IChwcmV2aW91c0dyb3VwcyA/IHByZXZpb3VzR3JvdXBzLmNvbmNhdChncm91cHMpIDogZ3JvdXBzKTtcclxuXHJcbiAgICAgICAgLyogU29ydCB0aGUgZ3JvdXBzIGJ5IGluZGV4ICovXHJcbiAgICAgICAgVXRpbHMuc29ydEFycmF5KHByZXZpb3VzR3JvdXBzLCAnaW5kZXgnKTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCBwcmV2aW91c0dyb3VwcywgdGFyZ2V0KTtcclxuICAgIH07XHJcbn0iXX0=
|
|
@@ -9,4 +9,4 @@ export class FormFieldGroupDefinition {
|
|
|
9
9
|
Object.assign(this, init);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1ncm91cC1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvbW9kZWxzL2Zvcm0tZmllbGQtZ3JvdXAtZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sd0JBQXdCO0lBU2pDOzs7T0FHRztJQUNILFlBQW1CLElBQXdDO1FBWnBELFNBQUksR0FBVyxTQUFTLENBQUM7UUFHekIsV0FBTSxHQUEwQixFQUFFLENBQUM7UUFVdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZERlZmluaXRpb24gfSBmcm9tIFwiLi9mb3JtLWZpZWxkLWRlZmluaXRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRHcm91cERlZmluaXRpb24ge1xyXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9ICdkZXRhaWxzJztcclxuICAgIHB1YmxpYyBpbmRleD86IG51bWJlcjtcclxuICAgIHB1YmxpYyBoZWFkZXI/OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZmllbGRzOiBGb3JtRmllbGREZWZpbml0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBncm91cHM6IFtGb3JtRmllbGREZWZpbml0aW9uW11dO1xyXG4gICAgcHVibGljIHR5cGU/OiBUeXBlPGFueT47XHJcbiAgICBwdWJsaWMgaW5zdGFuY2U/OiBvYmplY3Q7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGluaXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxGb3JtRmllbGRHcm91cERlZmluaXRpb24+KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcclxuICAgIH1cclxufSJdfQ==
|
package/fesm2015/messaia-cdk.mjs
CHANGED
|
@@ -14524,19 +14524,19 @@ class FormFieldGroupDefinition {
|
|
|
14524
14524
|
* @param args
|
|
14525
14525
|
* @returns
|
|
14526
14526
|
*/
|
|
14527
|
-
function FormField(args) {
|
|
14527
|
+
function FormField(args = null) {
|
|
14528
14528
|
return function (target, propertyKey) {
|
|
14529
14529
|
var _a;
|
|
14530
14530
|
/* Get property name */
|
|
14531
|
-
var propertyName = args.name || propertyKey;
|
|
14531
|
+
var propertyName = (args === null || args === void 0 ? void 0 : args.name) || propertyKey;
|
|
14532
14532
|
/* Get property type */
|
|
14533
14533
|
var propertyType = (_a = Reflect.getMetadata("design:type", target, propertyKey)) === null || _a === void 0 ? void 0 : _a.name;
|
|
14534
14534
|
/* Create table column */
|
|
14535
14535
|
var formField = new FormFieldDefinition(Object.assign(args, {
|
|
14536
|
-
name: args.name || propertyKey,
|
|
14537
|
-
header: args.header || Reflect.getMetadata(headerMetadataKey, target, propertyKey) || propertyName,
|
|
14538
|
-
autocompleteTemplate: args.autocompleteTemplate || ((option) => option[formField.autocompleteText]),
|
|
14539
|
-
chipTemplate: args.chipTemplate || ((chip) => chip[formField.chipText])
|
|
14536
|
+
name: (args === null || args === void 0 ? void 0 : args.name) || propertyKey,
|
|
14537
|
+
header: (args === null || args === void 0 ? void 0 : args.header) || Reflect.getMetadata(headerMetadataKey, target, propertyKey) || propertyName,
|
|
14538
|
+
autocompleteTemplate: (args === null || args === void 0 ? void 0 : args.autocompleteTemplate) || ((option) => option[formField.autocompleteText]),
|
|
14539
|
+
chipTemplate: (args === null || args === void 0 ? void 0 : args.chipTemplate) || ((chip) => chip[formField.chipText])
|
|
14540
14540
|
}));
|
|
14541
14541
|
/* Type enum */
|
|
14542
14542
|
if (formField.enumType) {
|
|
@@ -14582,22 +14582,29 @@ function FormField(args) {
|
|
|
14582
14582
|
let formFields = previousFormFields ? previousFormFields.concat([formField]) : [formField];
|
|
14583
14583
|
/* Override the result in the metadata */
|
|
14584
14584
|
Reflect.defineMetadata(formFieldsMetadataKey, formFields, target);
|
|
14585
|
-
/*
|
|
14586
|
-
|
|
14587
|
-
|
|
14588
|
-
|
|
14589
|
-
|
|
14590
|
-
|
|
14591
|
-
|
|
14592
|
-
|
|
14593
|
-
|
|
14594
|
-
|
|
14595
|
-
|
|
14596
|
-
|
|
14597
|
-
|
|
14598
|
-
|
|
14585
|
+
/* Get old form field groups */
|
|
14586
|
+
const previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target) || [];
|
|
14587
|
+
/* Get the group by group name from the previous saved groups */
|
|
14588
|
+
var group = previousGroups === null || previousGroups === void 0 ? void 0 : previousGroups.filter(x => x.name == formField.groupName)[0];
|
|
14589
|
+
/* If the group doesn't exist, create a new one and add it to the previous groups */
|
|
14590
|
+
if (!group) {
|
|
14591
|
+
group = new FormFieldGroupDefinition({ index: 0, name: formField.groupName || null, header: formField.groupHeader });
|
|
14592
|
+
previousGroups.push(group);
|
|
14593
|
+
}
|
|
14594
|
+
/* Add the fields to the current group */
|
|
14595
|
+
group.fields.push(formField);
|
|
14596
|
+
/* Group the field by 'row' */
|
|
14597
|
+
group.groups = Object.values((group.fields).reduce(function (r, a) {
|
|
14598
|
+
r[a.row] = (r[a.row] || []);
|
|
14599
|
+
r[a.row].push(a);
|
|
14600
|
+
r[a.row].forEach((x, i) => x.index = x.index || i);
|
|
14601
|
+
Utils.sortArray(r[a.row], 'index');
|
|
14602
|
+
return r;
|
|
14603
|
+
}, Object.create(null)));
|
|
14604
|
+
/* Sort the groups by index */
|
|
14605
|
+
Utils.sortArray(previousGroups, 'index');
|
|
14599
14606
|
/* Override the result in the metadata */
|
|
14600
|
-
Reflect.defineMetadata(formFieldGroupsMetadataKey,
|
|
14607
|
+
Reflect.defineMetadata(formFieldGroupsMetadataKey, previousGroups, target);
|
|
14601
14608
|
};
|
|
14602
14609
|
}
|
|
14603
14610
|
/**
|
|
@@ -14607,32 +14614,37 @@ function FormField(args) {
|
|
|
14607
14614
|
* @param init
|
|
14608
14615
|
* @returns
|
|
14609
14616
|
*/
|
|
14610
|
-
function FormFieldGroup(type,
|
|
14617
|
+
function FormFieldGroup(type, args = null) {
|
|
14611
14618
|
return function (target, propertyKey) {
|
|
14612
14619
|
/* Create an instance of the group object */
|
|
14613
14620
|
var instance = Reflect.construct(type, []);
|
|
14614
14621
|
/* Get from groups */
|
|
14615
14622
|
var groups = getFormGroups(instance);
|
|
14623
|
+
/* Get the header of the groups or create one using the property name */
|
|
14624
|
+
var groupHeader = (args === null || args === void 0 ? void 0 : args.header) || Reflect.getMetadata(headerMetadataKey, target, propertyKey) || propertyKey;
|
|
14616
14625
|
/* Get the fields from the groups */
|
|
14617
|
-
groups === null || groups === void 0 ? void 0 : groups.forEach(x => {
|
|
14626
|
+
groups === null || groups === void 0 ? void 0 : groups.forEach((x, i) => {
|
|
14618
14627
|
Object.assign(x, {
|
|
14619
14628
|
name: propertyKey,
|
|
14620
|
-
header:
|
|
14629
|
+
header: groupHeader,
|
|
14621
14630
|
type: type,
|
|
14622
|
-
instance:
|
|
14631
|
+
instance: (args === null || args === void 0 ? void 0 : args.instance) || instance,
|
|
14632
|
+
index: (args === null || args === void 0 ? void 0 : args.index) || i
|
|
14623
14633
|
});
|
|
14624
14634
|
/* Set the name of the group in the fields */
|
|
14625
14635
|
x.fields.forEach(y => Object.assign(y, {
|
|
14626
14636
|
groupName: propertyKey,
|
|
14627
|
-
groupHeader:
|
|
14637
|
+
groupHeader: groupHeader
|
|
14628
14638
|
}));
|
|
14629
14639
|
});
|
|
14630
14640
|
/* Get old form field groups */
|
|
14631
|
-
|
|
14632
|
-
/*
|
|
14633
|
-
|
|
14641
|
+
var previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
|
|
14642
|
+
/* Add the current groups to the previous groups */
|
|
14643
|
+
previousGroups = (previousGroups ? previousGroups.concat(groups) : groups);
|
|
14644
|
+
/* Sort the groups by index */
|
|
14645
|
+
Utils.sortArray(previousGroups, 'index');
|
|
14634
14646
|
/* Override the result in the metadata */
|
|
14635
|
-
Reflect.defineMetadata(formFieldGroupsMetadataKey,
|
|
14647
|
+
Reflect.defineMetadata(formFieldGroupsMetadataKey, previousGroups, target);
|
|
14636
14648
|
};
|
|
14637
14649
|
}
|
|
14638
14650
|
|