@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.
@@ -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.name || propertyKey;
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.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])
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
- /* Group the fields */
71
- var groups = Array.from(Utils.groupArrayBy(formFields, x => x.groupName))
72
- .map(([_, value]) => new FormFieldGroupDefinition({
73
- name: value[0].groupName || null,
74
- header: value[0].groupHeader,
75
- fields: value,
76
- groups: Object.values((value).reduce(function (r, a) {
77
- r[a.row] = (r[a.row] || []);
78
- r[a.row].push(a);
79
- r[a.row].forEach((x, i) => x.index = x.index || i);
80
- Utils.sortArray(r[a.row], 'index');
81
- return r;
82
- }, Object.create(null)))
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, groups, target);
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, header, init) {
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: header,
114
+ header: groupHeader,
106
115
  type: type,
107
- instance: init || 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: header
122
+ groupHeader: groupHeader
113
123
  }));
114
124
  });
115
125
  /* Get old form field groups */
116
- const previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
117
- /* Create a copy of the result */
118
- let combinedGroups = previousGroups ? previousGroups.concat(groups) : groups;
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, combinedGroups, target);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1ncm91cC1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvbW9kZWxzL2Zvcm0tZmllbGQtZ3JvdXAtZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sd0JBQXdCO0lBUWpDOzs7T0FHRztJQUNILFlBQW1CLElBQXdDO1FBWHBELFNBQUksR0FBVyxTQUFTLENBQUM7UUFFekIsV0FBTSxHQUEwQixFQUFFLENBQUM7UUFVdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZERlZmluaXRpb24gfSBmcm9tIFwiLi9mb3JtLWZpZWxkLWRlZmluaXRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRHcm91cERlZmluaXRpb24ge1xyXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9ICdkZXRhaWxzJztcclxuICAgIHB1YmxpYyBoZWFkZXI/OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZmllbGRzOiBGb3JtRmllbGREZWZpbml0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBncm91cHM6IFtGb3JtRmllbGREZWZpbml0aW9uW11dO1xyXG4gICAgcHVibGljIHR5cGU/OiBUeXBlPGFueT47XHJcbiAgICBwdWJsaWMgaW5zdGFuY2U/OiBvYmplY3Q7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGluaXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxGb3JtRmllbGRHcm91cERlZmluaXRpb24+KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcclxuICAgIH1cclxufSJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1ncm91cC1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvbW9kZWxzL2Zvcm0tZmllbGQtZ3JvdXAtZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sd0JBQXdCO0lBU2pDOzs7T0FHRztJQUNILFlBQW1CLElBQXdDO1FBWnBELFNBQUksR0FBVyxTQUFTLENBQUM7UUFHekIsV0FBTSxHQUEwQixFQUFFLENBQUM7UUFVdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZERlZmluaXRpb24gfSBmcm9tIFwiLi9mb3JtLWZpZWxkLWRlZmluaXRpb25cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRHcm91cERlZmluaXRpb24ge1xyXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9ICdkZXRhaWxzJztcclxuICAgIHB1YmxpYyBpbmRleD86IG51bWJlcjtcclxuICAgIHB1YmxpYyBoZWFkZXI/OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZmllbGRzOiBGb3JtRmllbGREZWZpbml0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBncm91cHM6IFtGb3JtRmllbGREZWZpbml0aW9uW11dO1xyXG4gICAgcHVibGljIHR5cGU/OiBUeXBlPGFueT47XHJcbiAgICBwdWJsaWMgaW5zdGFuY2U/OiBvYmplY3Q7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGluaXQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxGb3JtRmllbGRHcm91cERlZmluaXRpb24+KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcclxuICAgIH1cclxufSJdfQ==
@@ -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
- /* Group the fields */
14586
- var groups = Array.from(Utils.groupArrayBy(formFields, x => x.groupName))
14587
- .map(([_, value]) => new FormFieldGroupDefinition({
14588
- name: value[0].groupName || null,
14589
- header: value[0].groupHeader,
14590
- fields: value,
14591
- groups: Object.values((value).reduce(function (r, a) {
14592
- r[a.row] = (r[a.row] || []);
14593
- r[a.row].push(a);
14594
- r[a.row].forEach((x, i) => x.index = x.index || i);
14595
- Utils.sortArray(r[a.row], 'index');
14596
- return r;
14597
- }, Object.create(null)))
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, groups, target);
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, header, init) {
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: header,
14629
+ header: groupHeader,
14621
14630
  type: type,
14622
- instance: init || 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: header
14637
+ groupHeader: groupHeader
14628
14638
  }));
14629
14639
  });
14630
14640
  /* Get old form field groups */
14631
- const previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
14632
- /* Create a copy of the result */
14633
- let combinedGroups = previousGroups ? previousGroups.concat(groups) : groups;
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, combinedGroups, target);
14647
+ Reflect.defineMetadata(formFieldGroupsMetadataKey, previousGroups, target);
14636
14648
  };
14637
14649
  }
14638
14650