@messaia/cdk 13.3.5-rc08 → 13.3.5-rc11

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.
@@ -51,6 +51,7 @@ export class GenericReactiveFormComponent extends GenericFormBaseComponent {
51
51
  super.onAfterFormBuild();
52
52
  if (this.buildFieldGroups && !this.fieldGroups) {
53
53
  this.fieldGroups = getFormGroups(new this.entityCtor());
54
+ console.log('this.fieldGroups', this.fieldGroups);
54
55
  }
55
56
  }
56
57
  /**
@@ -69,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
69
70
  }], ctorParameters: function () { return [{ type: i0.Type }, { type: undefined }, { type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { form: [{
70
71
  type: Input
71
72
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Jhc2UvY29tcG9uZW50cy9nZW5lcmljLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBVyxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFFekUsV0FBVztBQUVYLE1BQU0sT0FBZ0IsNEJBQWdHLFNBQVEsd0JBQTJDO0lBa0NySzs7O09BR0c7SUFDSCxZQUNXLFVBQXlCLEVBQ3RCLE9BQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLGlCQUFvQztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUw5QyxlQUFVLEdBQVYsVUFBVSxDQUFlO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTdCbEQ7O1dBRUc7UUFDTyxzQkFBaUIsR0FBNkIsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBNkJuRixJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQTVCRDs7T0FFRztJQUNILElBQVcsU0FBUyxLQUFvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUEyQmxFOztPQUVHO0lBQ08sU0FBUztRQUNmLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLDRCQUE0QjtRQUM1QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDbEU7UUFFRCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV2RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0I7UUFDdEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sU0FBUyxDQUFDLE9BQWtCLElBQUk7UUFDdEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixPQUFPLENBQUMsR0FBRyxDQUFFLElBQUksQ0FBQyxJQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OytKQWxGaUIsNEJBQTRCO21KQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEakQsU0FBUzs2S0FPQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSUVudGl0eSwgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi8uLi9jb21tb24vY29tbW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2Zvcm0tdmFsaWRhdG9ycy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQcm9wVmFsaWRhdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2Zvcm0tdmFsaWRhdG9ycy9tb2RlbHMvcHJvcC12YWxpZGF0aW9uLWNvbmZpZyc7XHJcbmltcG9ydCB7IFJ4Rm9ybUJ1aWxkZXIsIFJ4Rm9ybUdyb3VwIH0gZnJvbSAnLi4vLi4vZm9ybS12YWxpZGF0b3JzL3B1YmxpY19hcGknO1xyXG5pbXBvcnQgeyBnZXRGb3JtR3JvdXBzIH0gZnJvbSAnLi4vLi4vZm9ybXMvZnVuY3Rpb25zL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9odHRwLm1vZHVsZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJpYy1mb3JtLWJhc2UuY29tcG9uZW50JztcclxuXHJcbi8vIEBkeW5hbWljXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2VuZXJpY1JlYWN0aXZlRm9ybUNvbXBvbmVudDxURW50aXR5IGV4dGVuZHMgSUVudGl0eSwgVFNlcnZpY2UgZXh0ZW5kcyBHZW5lcmljU2VydmljZTxURW50aXR5Pj4gZXh0ZW5kcyBHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eSwgVFNlcnZpY2U+IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm0gZ3JvdXBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3JtIGJ1aWxkZXJcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBSeEZvcm1CdWlsZGVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogZm9ybUJ1aWxkZXJDb25maWc6IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvblxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXJDb25maWc6IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiA9IG5ldyBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgZm9ybSB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGZvcm1WYWx1ZSgpOiBURW50aXR5IHwgYW55IHsgcmV0dXJuIHRoaXMuZm9ybS52YWx1ZTsgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGZvcm1WYWxpZGF0aW9uOiBhbnlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZvcm1WYWxpZGF0aW9uOiB7IFtrZXk6IHN0cmluZ106IFByb3BWYWxpZGF0aW9uQ29uZmlnIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBidWlsZEZpZWxkR3JvdXBzOiBib29sZWFuXHJcbiAgICAgKiBCdWlsZHMgZmllbGQgZ3JvdXBzLCBpZiB0cnVlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBidWlsZEZpZWxkR3JvdXBzOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBzZXJ2aWNlIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgZW50aXR5Q3RvcjogVHlwZTxURW50aXR5PixcclxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogVFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihlbnRpdHlDdG9yLCBzZXJ2aWNlLCByb3V0ZSwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIgPSBTZXJ2aWNlTG9jYXRvci5nZXRTZXJ2aWNlKFJ4Rm9ybUJ1aWxkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQnVpbGRzIGEgbmV3IGZvcm1cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGJ1aWxkRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQmVmb3JlRm9ybUJ1aWxkKCk7XHJcblxyXG4gICAgICAgIC8qIEFkZCBkeW5hbWljIHZhbGlkYXRpb24gKi9cclxuICAgICAgICBpZiAodGhpcy5mb3JtVmFsaWRhdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1CdWlsZGVyQ29uZmlnLmR5bmFtaWNWYWxpZGF0aW9uID0gdGhpcy5mb3JtVmFsaWRhdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSB0aGUgZm9ybSAqL1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IDxSeEZvcm1Hcm91cD50aGlzLmZvcm1CdWlsZGVyLmZvcm1Hcm91cCh0aGlzLml0ZW0sIHRoaXMuZm9ybUJ1aWxkZXJDb25maWcpO1xyXG5cclxuICAgICAgICB0aGlzLm9uQWZ0ZXJGb3JtQnVpbGQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBoYXMgYnVpbHQuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBvbkFmdGVyRm9ybUJ1aWxkKCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm9uQWZ0ZXJGb3JtQnVpbGQoKTtcclxuICAgICAgICBpZiAodGhpcy5idWlsZEZpZWxkR3JvdXBzICYmICF0aGlzLmZpZWxkR3JvdXBzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRHcm91cHMgPSBnZXRGb3JtR3JvdXBzKG5ldyB0aGlzLmVudGl0eUN0b3IoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvd3MgZm9ybSBlcnJvcnNcclxuICAgICAqIEBwYXJhbSBmb3JtIFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZGVidWdGb3JtKGZvcm06IEZvcm1Hcm91cCA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5kZWJ1Z0Zvcm0oZm9ybSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coKHRoaXMuZm9ybSBhcyBSeEZvcm1Hcm91cCkuZ2V0RXJyb3JTdW1tYXJ5KGZhbHNlKSk7XHJcbiAgICB9XHJcbn0iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Jhc2UvY29tcG9uZW50cy9nZW5lcmljLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBVyxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFFekUsV0FBVztBQUVYLE1BQU0sT0FBZ0IsNEJBQWdHLFNBQVEsd0JBQTJDO0lBa0NySzs7O09BR0c7SUFDSCxZQUNXLFVBQXlCLEVBQ3RCLE9BQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLGlCQUFvQztRQUU5QyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUw5QyxlQUFVLEdBQVYsVUFBVSxDQUFlO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTdCbEQ7O1dBRUc7UUFDTyxzQkFBaUIsR0FBNkIsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBNkJuRixJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQTVCRDs7T0FFRztJQUNILElBQVcsU0FBUyxLQUFvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUEyQmxFOztPQUVHO0lBQ08sU0FBUztRQUNmLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLDRCQUE0QjtRQUM1QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDbEU7UUFFRCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV2RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0I7UUFDdEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckQ7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sU0FBUyxDQUFDLE9BQWtCLElBQUk7UUFDdEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixPQUFPLENBQUMsR0FBRyxDQUFFLElBQUksQ0FBQyxJQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OytKQW5GaUIsNEJBQTRCO21KQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEakQsU0FBUzs2S0FPQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSUVudGl0eSwgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuLi8uLi9jb21tb24vY29tbW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2Zvcm0tdmFsaWRhdG9ycy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQcm9wVmFsaWRhdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2Zvcm0tdmFsaWRhdG9ycy9tb2RlbHMvcHJvcC12YWxpZGF0aW9uLWNvbmZpZyc7XHJcbmltcG9ydCB7IFJ4Rm9ybUJ1aWxkZXIsIFJ4Rm9ybUdyb3VwIH0gZnJvbSAnLi4vLi4vZm9ybS12YWxpZGF0b3JzL3B1YmxpY19hcGknO1xyXG5pbXBvcnQgeyBnZXRGb3JtR3JvdXBzIH0gZnJvbSAnLi4vLi4vZm9ybXMvZnVuY3Rpb25zL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9odHRwLm1vZHVsZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJpYy1mb3JtLWJhc2UuY29tcG9uZW50JztcclxuXHJcbi8vIEBkeW5hbWljXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2VuZXJpY1JlYWN0aXZlRm9ybUNvbXBvbmVudDxURW50aXR5IGV4dGVuZHMgSUVudGl0eSwgVFNlcnZpY2UgZXh0ZW5kcyBHZW5lcmljU2VydmljZTxURW50aXR5Pj4gZXh0ZW5kcyBHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eSwgVFNlcnZpY2U+IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm0gZ3JvdXBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3JtIGJ1aWxkZXJcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBSeEZvcm1CdWlsZGVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogZm9ybUJ1aWxkZXJDb25maWc6IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvblxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXJDb25maWc6IEZvcm1CdWlsZGVyQ29uZmlndXJhdGlvbiA9IG5ldyBGb3JtQnVpbGRlckNvbmZpZ3VyYXRpb24oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgZm9ybSB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGZvcm1WYWx1ZSgpOiBURW50aXR5IHwgYW55IHsgcmV0dXJuIHRoaXMuZm9ybS52YWx1ZTsgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGZvcm1WYWxpZGF0aW9uOiBhbnlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZvcm1WYWxpZGF0aW9uOiB7IFtrZXk6IHN0cmluZ106IFByb3BWYWxpZGF0aW9uQ29uZmlnIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBidWlsZEZpZWxkR3JvdXBzOiBib29sZWFuXHJcbiAgICAgKiBCdWlsZHMgZmllbGQgZ3JvdXBzLCBpZiB0cnVlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBidWlsZEZpZWxkR3JvdXBzOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBzZXJ2aWNlIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgZW50aXR5Q3RvcjogVHlwZTxURW50aXR5PixcclxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogVFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihlbnRpdHlDdG9yLCBzZXJ2aWNlLCByb3V0ZSwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIgPSBTZXJ2aWNlTG9jYXRvci5nZXRTZXJ2aWNlKFJ4Rm9ybUJ1aWxkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQnVpbGRzIGEgbmV3IGZvcm1cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGJ1aWxkRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQmVmb3JlRm9ybUJ1aWxkKCk7XHJcblxyXG4gICAgICAgIC8qIEFkZCBkeW5hbWljIHZhbGlkYXRpb24gKi9cclxuICAgICAgICBpZiAodGhpcy5mb3JtVmFsaWRhdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1CdWlsZGVyQ29uZmlnLmR5bmFtaWNWYWxpZGF0aW9uID0gdGhpcy5mb3JtVmFsaWRhdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSB0aGUgZm9ybSAqL1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IDxSeEZvcm1Hcm91cD50aGlzLmZvcm1CdWlsZGVyLmZvcm1Hcm91cCh0aGlzLml0ZW0sIHRoaXMuZm9ybUJ1aWxkZXJDb25maWcpO1xyXG5cclxuICAgICAgICB0aGlzLm9uQWZ0ZXJGb3JtQnVpbGQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBoYXMgYnVpbHQuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBvbkFmdGVyRm9ybUJ1aWxkKCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm9uQWZ0ZXJGb3JtQnVpbGQoKTtcclxuICAgICAgICBpZiAodGhpcy5idWlsZEZpZWxkR3JvdXBzICYmICF0aGlzLmZpZWxkR3JvdXBzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRHcm91cHMgPSBnZXRGb3JtR3JvdXBzKG5ldyB0aGlzLmVudGl0eUN0b3IoKSk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLmZpZWxkR3JvdXBzJywgdGhpcy5maWVsZEdyb3Vwcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvd3MgZm9ybSBlcnJvcnNcclxuICAgICAqIEBwYXJhbSBmb3JtIFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZGVidWdGb3JtKGZvcm06IEZvcm1Hcm91cCA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5kZWJ1Z0Zvcm0oZm9ybSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coKHRoaXMuZm9ybSBhcyBSeEZvcm1Hcm91cCkuZ2V0RXJyb3JTdW1tYXJ5KGZhbHNlKSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,3 +1,3 @@
1
- export const formFieldsMetadataKey = Symbol('vdFormFields');
2
- export const formFieldGroupsMetadataKey = Symbol('vdFormFieldGroup');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvY29uc3RhbnRzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZm9ybUZpZWxkc01ldGFkYXRhS2V5ID0gU3ltYm9sKCd2ZEZvcm1GaWVsZHMnKTtcclxuZXhwb3J0IGNvbnN0IGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5ID0gU3ltYm9sKCd2ZEZvcm1GaWVsZEdyb3VwJyk7Il19
1
+ export const formFieldsMetadataKey = 'custom::vdFormFields';
2
+ export const formFieldGroupsMetadataKey = 'custom:vdFormFieldGroups';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvY29uc3RhbnRzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmb3JtRmllbGRzTWV0YWRhdGFLZXkgPSAnY3VzdG9tOjp2ZEZvcm1GaWVsZHMnO1xyXG5leHBvcnQgY29uc3QgZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXkgPSAnY3VzdG9tOnZkRm9ybUZpZWxkR3JvdXBzJzsiXX0=
@@ -1,9 +1,7 @@
1
1
  import { headerMetadataKey } from "../../common/constants/constants";
2
- import { Utils } from "../../common/functions/utils";
3
2
  import { formFieldGroupsMetadataKey, formFieldsMetadataKey } from "../constants/constants";
4
3
  import { FormFieldType } from "../enums/form-field-type";
5
4
  import { FormFieldDefinition } from "../models/form-field-definition";
6
- import { FormFieldGroupDefinition } from "../models/form-field-group-definition";
7
5
  import { getFormGroups } from "./functions";
8
6
  /**
9
7
  * Property decorator to create form fields
@@ -67,65 +65,40 @@ export function FormField(args) {
67
65
  let formFields = previousFormFields ? previousFormFields.concat([formField]) : [formField];
68
66
  /* Override the result in the metadata */
69
67
  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
- }));
84
- /* Override the result in the metadata */
85
- Reflect.defineMetadata(formFieldGroupsMetadataKey, groups, target);
86
68
  };
87
69
  }
88
70
  /**
89
71
  * Property decorator to create form fields
90
- * @param type
91
- * @param header
92
- * @param init
72
+ * @param args
93
73
  * @returns
94
74
  */
95
- export function FormFieldGroup(type, header, init) {
75
+ export function FormFieldGroup(type, args = null) {
96
76
  return function (target, propertyKey) {
97
77
  /* Create an instance of the group object */
98
78
  var instance = Reflect.construct(type, []);
99
- console.log('- FormFieldGroup -----------------------');
100
- console.log('FormFieldGroup->instance', instance);
101
- console.log('FormFieldGroup->target', Reflect.construct(target.constructor, []));
102
79
  /* Get from groups */
103
80
  var groups = getFormGroups(instance);
81
+ /* Get the header of the groups or create one using the property name */
82
+ var groupHeader = args?.header || Reflect.getMetadata(headerMetadataKey, target, propertyKey) || propertyKey;
104
83
  /* Get the fields from the groups */
105
- groups?.forEach(x => {
84
+ groups?.forEach((x, i) => {
106
85
  Object.assign(x, {
107
86
  name: propertyKey,
108
- header: header,
87
+ header: groupHeader,
109
88
  type: type,
110
- instance: init || instance
89
+ instance: args?.instance || instance,
90
+ index: args?.index || i
111
91
  });
112
92
  /* Set the name of the group in the fields */
113
93
  x.fields.forEach(y => Object.assign(y, {
114
94
  groupName: propertyKey,
115
- groupHeader: header
95
+ groupHeader: groupHeader
116
96
  }));
117
97
  });
118
98
  /* Get old form field groups */
119
- const previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
120
- console.log('previousGroups', previousGroups);
121
- /* Create a copy of the result */
122
- let combinedGroups = previousGroups ? previousGroups.concat(groups) : groups;
99
+ var previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
123
100
  /* Override the result in the metadata */
124
- Reflect.defineMetadata(formFieldGroupsMetadataKey, combinedGroups, target);
125
- Reflect.defineMetadata('custom:groups', combinedGroups, target);
126
- console.log('combinedGroups 1:', combinedGroups);
127
- console.log('combinedGroups 2:', Reflect.getMetadata(formFieldGroupsMetadataKey, target));
128
- console.log('++++++++++++++++++++++++++++++++++++++++');
101
+ Reflect.defineMetadata(formFieldGroupsMetadataKey, (previousGroups ? previousGroups.concat(groups) : groups), target);
129
102
  };
130
103
  }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm1zL2Z1bmN0aW9ucy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFrQztJQUN4RCxPQUFPLFVBQVUsTUFBVyxFQUFFLFdBQW1CO1FBQzdDLHVCQUF1QjtRQUN2QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQztRQUU1Qyx1QkFBdUI7UUFDdkIsSUFBSSxZQUFZLEdBQVcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQztRQUV6Rix5QkFBeUI7UUFDekIsSUFBSSxTQUFTLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBdUI7WUFDN0UsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksV0FBVztZQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLGlCQUFp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QUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFekcseUNBQXlDO1FBQ3pDLE9BQU8sQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLE9BQU8sQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVoRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGhlYWRlck1ldGFkYXRhS2V5IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9jb25zdGFudHMvY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9mdW5jdGlvbnMvdXRpbHNcIjtcclxuaW1wb3J0IHsgZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXksIGZvcm1GaWVsZHNNZXRhZGF0YUtleSB9IGZyb20gXCIuLi9jb25zdGFudHMvY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZFR5cGUgfSBmcm9tIFwiLi4vZW51bXMvZm9ybS1maWVsZC10eXBlXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZERlZmluaXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL2Zvcm0tZmllbGQtZGVmaW5pdGlvblwiO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRHcm91cERlZmluaXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL2Zvcm0tZmllbGQtZ3JvdXAtZGVmaW5pdGlvblwiO1xyXG5pbXBvcnQgeyBnZXRGb3JtR3JvdXBzIH0gZnJvbSBcIi4vZnVuY3Rpb25zXCI7XHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIHRvIGNyZWF0ZSBmb3JtIGZpZWxkc1xyXG4gKiBAcGFyYW0gYXJncyBcclxuICogQHJldHVybnMgXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRm9ybUZpZWxkKGFyZ3M6IFBhcnRpYWw8Rm9ybUZpZWxkRGVmaW5pdGlvbj4pOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgLyogR2V0IHByb3BlcnR5IG5hbWUgKi9cclxuICAgICAgICB2YXIgcHJvcGVydHlOYW1lID0gYXJncy5uYW1lIHx8IHByb3BlcnR5S2V5O1xyXG5cclxuICAgICAgICAvKiBHZXQgcHJvcGVydHkgdHlwZSAqL1xyXG4gICAgICAgIHZhciBwcm9wZXJ0eVR5cGU6IHN0cmluZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCB0YXJnZXQsIHByb3BlcnR5S2V5KT8ubmFtZTtcclxuXHJcbiAgICAgICAgLyogQ3JlYXRlIHRhYmxlIGNvbHVtbiAqL1xyXG4gICAgICAgIHZhciBmb3JtRmllbGQgPSBuZXcgRm9ybUZpZWxkRGVmaW5pdGlvbihPYmplY3QuYXNzaWduKGFyZ3MsIDxGb3JtRmllbGREZWZpbml0aW9uPntcclxuICAgICAgICAgICAgbmFtZTogYXJncy5uYW1lIHx8IHByb3BlcnR5S2V5LFxyXG4gICAgICAgICAgICBoZWFkZXI6IGFyZ3MuaGVhZGVyIHx8IFJlZmxlY3QuZ2V0TWV0YWRhdGEoaGVhZGVyTWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkpIHx8IHByb3BlcnR5TmFtZSxcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlVGVtcGxhdGU6IGFyZ3MuYXV0b2NvbXBsZXRlVGVtcGxhdGUgfHwgKChvcHRpb246IGFueSkgPT4gb3B0aW9uW2Zvcm1GaWVsZC5hdXRvY29tcGxldGVUZXh0XSksXHJcbiAgICAgICAgICAgIGNoaXBUZW1wbGF0ZTogYXJncy5jaGlwVGVtcGxhdGUgfHwgKChjaGlwOiBhbnkpID0+IGNoaXBbZm9ybUZpZWxkLmNoaXBUZXh0XSlcclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIC8qIFR5cGUgZW51bSAqL1xyXG4gICAgICAgIGlmIChmb3JtRmllbGQuZW51bVR5cGUpIHtcclxuICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuRW51bTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFR5cGUgVmRTZWxlY3QgKi9cclxuICAgICAgICBlbHNlIGlmIChmb3JtRmllbGQuZW5kcG9pbnQpIHtcclxuICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuVmRTZWxlY3Q7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBUeXBlIFNlbGVjdCAqL1xyXG4gICAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5vcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLlNlbGVjdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFR5cGUgVGV4dEFyZWEgKi9cclxuICAgICAgICBlbHNlIGlmIChmb3JtRmllbGQucm93cykge1xyXG4gICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5UZXh0QXJlYTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFR5cGUgRmlsZSAqL1xyXG4gICAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWxlUGF0aCkge1xyXG4gICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5GaWxlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogT3RoZXIgdHlwZXMgKi9cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eVR5cGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5UZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZC5pbnB1dFR5cGUgfHw9ICdudW1iZXInO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLkRhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuQ2hlY2tib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5UZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBHZXQgb2xkIGZvcm0gZmllbGRzICovXHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNGb3JtRmllbGRzOiBGb3JtRmllbGREZWZpbml0aW9uW10gPSBSZWZsZWN0LmdldE1ldGFkYXRhKGZvcm1GaWVsZHNNZXRhZGF0YUtleSwgdGFyZ2V0KTtcclxuXHJcbiAgICAgICAgLyogQ3JlYXRlIGEgY29weSBvZiB0aGUgcmVzdWx0ICovXHJcbiAgICAgICAgbGV0IGZvcm1GaWVsZHM6IEZvcm1GaWVsZERlZmluaXRpb25bXSA9IHByZXZpb3VzRm9ybUZpZWxkcyA/IHByZXZpb3VzRm9ybUZpZWxkcy5jb25jYXQoW2Zvcm1GaWVsZF0pIDogW2Zvcm1GaWVsZF07XHJcblxyXG4gICAgICAgIC8qIE92ZXJyaWRlIHRoZSByZXN1bHQgaW4gdGhlIG1ldGFkYXRhICovXHJcbiAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShmb3JtRmllbGRzTWV0YWRhdGFLZXksIGZvcm1GaWVsZHMsIHRhcmdldCk7XHJcblxyXG4gICAgICAgIC8qIEdyb3VwIHRoZSBmaWVsZHMgKi9cclxuICAgICAgICB2YXIgZ3JvdXBzID0gQXJyYXkuZnJvbShVdGlscy5ncm91cEFycmF5QnkoZm9ybUZpZWxkcywgeCA9PiB4Lmdyb3VwTmFtZSkpXHJcbiAgICAgICAgICAgIC5tYXAoKFtfLCB2YWx1ZV0pID0+IG5ldyBGb3JtRmllbGRHcm91cERlZmluaXRpb24oe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogdmFsdWVbMF0uZ3JvdXBOYW1lIHx8IG51bGwsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHZhbHVlWzBdLmdyb3VwSGVhZGVyLFxyXG4gICAgICAgICAgICAgICAgZmllbGRzOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGdyb3VwczogKE9iamVjdC52YWx1ZXMoKHZhbHVlKS5yZWR1Y2UoZnVuY3Rpb24gKHI6IFtGb3JtRmllbGREZWZpbml0aW9uW11dLCBhOiBGb3JtRmllbGREZWZpbml0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgclthLnJvd10gPSAoclthLnJvd10gfHwgW10pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJbYS5yb3ddLnB1c2goYSk7XHJcbiAgICAgICAgICAgICAgICAgICAgclthLnJvd10uZm9yRWFjaCgoeCwgaSkgPT4geC5pbmRleCA9IHguaW5kZXggfHwgaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgVXRpbHMuc29ydEFycmF5KHJbYS5yb3ddLCAnaW5kZXgnKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjtcclxuICAgICAgICAgICAgICAgIH0sIE9iamVjdC5jcmVhdGUobnVsbCkpKSBhcyBbRm9ybUZpZWxkRGVmaW5pdGlvbltdXSlcclxuICAgICAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAvKiBPdmVycmlkZSB0aGUgcmVzdWx0IGluIHRoZSBtZXRhZGF0YSAqL1xyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXksIGdyb3VwcywgdGFyZ2V0KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgdG8gY3JlYXRlIGZvcm0gZmllbGRzXHJcbiAqIEBwYXJhbSB0eXBlIFxyXG4gKiBAcGFyYW0gaGVhZGVyIFxyXG4gKiBAcGFyYW0gaW5pdCBcclxuICogQHJldHVybnMgXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRm9ybUZpZWxkR3JvdXAodHlwZTogVHlwZTxhbnk+LCBoZWFkZXI6IHN0cmluZywgaW5pdD86IGFueSk6IEZ1bmN0aW9uIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5OiBzdHJpbmcpIHtcclxuICAgICAgICAvKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhlIGdyb3VwIG9iamVjdCAqL1xyXG4gICAgICAgIHZhciBpbnN0YW5jZSA9IFJlZmxlY3QuY29uc3RydWN0KHR5cGUsIFtdKTtcclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coJy0gRm9ybUZpZWxkR3JvdXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnRm9ybUZpZWxkR3JvdXAtPmluc3RhbmNlJywgaW5zdGFuY2UpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdGb3JtRmllbGRHcm91cC0+dGFyZ2V0JywgUmVmbGVjdC5jb25zdHJ1Y3QodGFyZ2V0LmNvbnN0cnVjdG9yLCBbXSkpO1xyXG5cclxuICAgICAgICAvKiBHZXQgZnJvbSBncm91cHMgKi9cclxuICAgICAgICB2YXIgZ3JvdXBzID0gZ2V0Rm9ybUdyb3VwcyhpbnN0YW5jZSk7XHJcblxyXG4gICAgICAgIC8qIEdldCB0aGUgZmllbGRzIGZyb20gdGhlIGdyb3VwcyAqL1xyXG4gICAgICAgIGdyb3Vwcz8uZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih4LCB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBwcm9wZXJ0eUtleSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogaGVhZGVyLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgICAgICAgICAgIGluc3RhbmNlOiBpbml0IHx8IGluc3RhbmNlXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLyogU2V0IHRoZSBuYW1lIG9mIHRoZSBncm91cCBpbiB0aGUgZmllbGRzICovXHJcbiAgICAgICAgICAgIHguZmllbGRzLmZvckVhY2goeSA9PiBPYmplY3QuYXNzaWduKHksIHtcclxuICAgICAgICAgICAgICAgIGdyb3VwTmFtZTogcHJvcGVydHlLZXksXHJcbiAgICAgICAgICAgICAgICBncm91cEhlYWRlcjogaGVhZGVyXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLyogR2V0IG9sZCBmb3JtIGZpZWxkIGdyb3VwcyAqL1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzR3JvdXBzOiBGb3JtRmllbGRHcm91cERlZmluaXRpb25bXSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXksIHRhcmdldCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3ByZXZpb3VzR3JvdXBzJywgcHJldmlvdXNHcm91cHMpO1xyXG5cclxuICAgICAgICAvKiBDcmVhdGUgYSBjb3B5IG9mIHRoZSByZXN1bHQgKi9cclxuICAgICAgICBsZXQgY29tYmluZWRHcm91cHM6IEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbltdID0gcHJldmlvdXNHcm91cHMgPyBwcmV2aW91c0dyb3Vwcy5jb25jYXQoZ3JvdXBzKSA6IGdyb3VwcztcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCBjb21iaW5lZEdyb3VwcywgdGFyZ2V0KTtcclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdjdXN0b206Z3JvdXBzJywgY29tYmluZWRHcm91cHMsIHRhcmdldCk7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjb21iaW5lZEdyb3VwcyAxOicsIGNvbWJpbmVkR3JvdXBzKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnY29tYmluZWRHcm91cHMgMjonLCBSZWZsZWN0LmdldE1ldGFkYXRhKGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCB0YXJnZXQpKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKycpO1xyXG4gICAgfTtcclxufSJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm1zL2Z1bmN0aW9ucy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQWtDO0lBQ3hELE9BQU8sVUFBVSxNQUFXLEVBQUUsV0FBbUI7UUFDN0MsdUJBQXVCO1FBQ3ZCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDO1FBRTVDLHVCQUF1QjtRQUN2QixJQUFJLFlBQVksR0FBVyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDO1FBRXpGLHlCQUF5QjtRQUN6QixJQUFJLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUF1QjtZQUM3RSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxXQUFXO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxJQUFJLFlBQVk7WUFDbEcsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxN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LFdBQVcsR0FBRyxJQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQztRQUU3RyxvQ0FBb0M7UUFDcEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBNEI7Z0JBQ3ZDLElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsV0FBVztnQkFDbkIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLElBQUksUUFBUTtnQkFDcEMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQzthQUMxQixDQUFDLENBQUM7WUFFSCw2Q0FBNkM7WUFDN0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtnQkFDbkMsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUM7UUFFSCwrQkFBK0I7UUFDL0IsSUFBSSxjQUFjLEdBQStCLE9BQU8sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFekcseUNBQXlDO1FBQ3pDLE9BQU8sQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFILENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgaGVhZGVyTWV0YWRhdGFLZXkgfSBmcm9tIFwiLi4vLi4vY29tbW9uL2NvbnN0YW50cy9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXksIGZvcm1GaWVsZHNNZXRhZGF0YUtleSB9IGZyb20gXCIuLi9jb25zdGFudHMvY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZFR5cGUgfSBmcm9tIFwiLi4vZW51bXMvZm9ybS1maWVsZC10eXBlXCI7XHJcbmltcG9ydCB7IEZvcm1GaWVsZERlZmluaXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL2Zvcm0tZmllbGQtZGVmaW5pdGlvblwiO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRHcm91cERlZmluaXRpb24gfSBmcm9tIFwiLi4vbW9kZWxzL2Zvcm0tZmllbGQtZ3JvdXAtZGVmaW5pdGlvblwiO1xyXG5pbXBvcnQgeyBnZXRGb3JtR3JvdXBzIH0gZnJvbSBcIi4vZnVuY3Rpb25zXCI7XHJcblxyXG4vKipcclxuICogUHJvcGVydHkgZGVjb3JhdG9yIHRvIGNyZWF0ZSBmb3JtIGZpZWxkc1xyXG4gKiBAcGFyYW0gYXJncyBcclxuICogQHJldHVybnMgXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gRm9ybUZpZWxkKGFyZ3M6IFBhcnRpYWw8Rm9ybUZpZWxkRGVmaW5pdGlvbj4pOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgLyogR2V0IHByb3BlcnR5IG5hbWUgKi9cclxuICAgICAgICB2YXIgcHJvcGVydHlOYW1lID0gYXJncy5uYW1lIHx8IHByb3BlcnR5S2V5O1xyXG5cclxuICAgICAgICAvKiBHZXQgcHJvcGVydHkgdHlwZSAqL1xyXG4gICAgICAgIHZhciBwcm9wZXJ0eVR5cGU6IHN0cmluZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCB0YXJnZXQsIHByb3BlcnR5S2V5KT8ubmFtZTtcclxuXHJcbiAgICAgICAgLyogQ3JlYXRlIHRhYmxlIGNvbHVtbiAqL1xyXG4gICAgICAgIHZhciBmb3JtRmllbGQgPSBuZXcgRm9ybUZpZWxkRGVmaW5pdGlvbihPYmplY3QuYXNzaWduKGFyZ3MsIDxGb3JtRmllbGREZWZpbml0aW9uPntcclxuICAgICAgICAgICAgbmFtZTogYXJncy5uYW1lIHx8IHByb3BlcnR5S2V5LFxyXG4gICAgICAgICAgICBoZWFkZXI6IGFyZ3MuaGVhZGVyIHx8IFJlZmxlY3QuZ2V0TWV0YWRhdGEoaGVhZGVyTWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkpIHx8IHByb3BlcnR5TmFtZSxcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlVGVtcGxhdGU6IGFyZ3MuYXV0b2NvbXBsZXRlVGVtcGxhdGUgfHwgKChvcHRpb246IGFueSkgPT4gb3B0aW9uW2Zvcm1GaWVsZC5hdXRvY29tcGxldGVUZXh0XSksXHJcbiAgICAgICAgICAgIGNoaXBUZW1wbGF0ZTogYXJncy5jaGlwVGVtcGxhdGUgfHwgKChjaGlwOiBhbnkpID0+IGNoaXBbZm9ybUZpZWxkLmNoaXBUZXh0XSlcclxuICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgIC8qIFR5cGUgZW51bSAqL1xyXG4gICAgICAgIGlmIChmb3JtRmllbGQuZW51bVR5cGUpIHtcclxuICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuRW51bTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFR5cGUgVmRTZWxlY3QgKi9cclxuICAgICAgICBlbHNlIGlmIChmb3JtRmllbGQuZW5kcG9pbnQpIHtcclxuICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuVmRTZWxlY3Q7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBUeXBlIFNlbGVjdCAqL1xyXG4gICAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5vcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLlNlbGVjdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFR5cGUgVGV4dEFyZWEgKi9cclxuICAgICAgICBlbHNlIGlmIChmb3JtRmllbGQucm93cykge1xyXG4gICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5UZXh0QXJlYTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFR5cGUgRmlsZSAqL1xyXG4gICAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWxlUGF0aCkge1xyXG4gICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5GaWxlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogT3RoZXIgdHlwZXMgKi9cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgc3dpdGNoIChwcm9wZXJ0eVR5cGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5UZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZC5pbnB1dFR5cGUgfHw9ICdudW1iZXInO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1GaWVsZC50eXBlIHx8PSBGb3JtRmllbGRUeXBlLkRhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUZpZWxkLnR5cGUgfHw9IEZvcm1GaWVsZFR5cGUuQ2hlY2tib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQudHlwZSB8fD0gRm9ybUZpZWxkVHlwZS5UZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBHZXQgb2xkIGZvcm0gZmllbGRzICovXHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNGb3JtRmllbGRzID0gUmVmbGVjdC5nZXRNZXRhZGF0YShmb3JtRmllbGRzTWV0YWRhdGFLZXksIHRhcmdldCk7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSBhIGNvcHkgb2YgdGhlIHJlc3VsdCAqL1xyXG4gICAgICAgIGxldCBmb3JtRmllbGRzID0gcHJldmlvdXNGb3JtRmllbGRzID8gcHJldmlvdXNGb3JtRmllbGRzLmNvbmNhdChbZm9ybUZpZWxkXSkgOiBbZm9ybUZpZWxkXTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKGZvcm1GaWVsZHNNZXRhZGF0YUtleSwgZm9ybUZpZWxkcywgdGFyZ2V0KTtcclxuICAgIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcm9wZXJ0eSBkZWNvcmF0b3IgdG8gY3JlYXRlIGZvcm0gZmllbGRzXHJcbiAqIEBwYXJhbSBhcmdzIFxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBGb3JtRmllbGRHcm91cDxUPih0eXBlOiBUeXBlPFQ+LCBhcmdzOiBQYXJ0aWFsPEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbj4gPSBudWxsKTogRnVuY3Rpb24ge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykge1xyXG4gICAgICAgIC8qIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgZ3JvdXAgb2JqZWN0ICovXHJcbiAgICAgICAgdmFyIGluc3RhbmNlID0gUmVmbGVjdC5jb25zdHJ1Y3QodHlwZSwgW10pO1xyXG5cclxuICAgICAgICAvKiBHZXQgZnJvbSBncm91cHMgKi9cclxuICAgICAgICB2YXIgZ3JvdXBzID0gZ2V0Rm9ybUdyb3VwcyhpbnN0YW5jZSk7XHJcblxyXG4gICAgICAgIC8qIEdldCB0aGUgaGVhZGVyIG9mIHRoZSBncm91cHMgb3IgY3JlYXRlIG9uZSB1c2luZyB0aGUgcHJvcGVydHkgbmFtZSAqL1xyXG4gICAgICAgIHZhciBncm91cEhlYWRlciA9IGFyZ3M/LmhlYWRlciB8fCBSZWZsZWN0LmdldE1ldGFkYXRhKGhlYWRlck1ldGFkYXRhS2V5LCB0YXJnZXQsIHByb3BlcnR5S2V5KSB8fCBwcm9wZXJ0eUtleTtcclxuXHJcbiAgICAgICAgLyogR2V0IHRoZSBmaWVsZHMgZnJvbSB0aGUgZ3JvdXBzICovXHJcbiAgICAgICAgZ3JvdXBzPy5mb3JFYWNoKCh4LCBpKSA9PiB7XHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oeCwgPEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbj57XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBwcm9wZXJ0eUtleSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogZ3JvdXBIZWFkZXIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgICAgaW5zdGFuY2U6IGFyZ3M/Lmluc3RhbmNlIHx8IGluc3RhbmNlLFxyXG4gICAgICAgICAgICAgICAgaW5kZXg6IGFyZ3M/LmluZGV4IHx8IGlcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvKiBTZXQgdGhlIG5hbWUgb2YgdGhlIGdyb3VwIGluIHRoZSBmaWVsZHMgKi9cclxuICAgICAgICAgICAgeC5maWVsZHMuZm9yRWFjaCh5ID0+IE9iamVjdC5hc3NpZ24oeSwge1xyXG4gICAgICAgICAgICAgICAgZ3JvdXBOYW1lOiBwcm9wZXJ0eUtleSxcclxuICAgICAgICAgICAgICAgIGdyb3VwSGVhZGVyOiBncm91cEhlYWRlclxyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8qIEdldCBvbGQgZm9ybSBmaWVsZCBncm91cHMgKi9cclxuICAgICAgICB2YXIgcHJldmlvdXNHcm91cHM6IEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbltdID0gUmVmbGVjdC5nZXRNZXRhZGF0YShmb3JtRmllbGRHcm91cHNNZXRhZGF0YUtleSwgdGFyZ2V0KTtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIHJlc3VsdCBpbiB0aGUgbWV0YWRhdGEgKi9cclxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCAocHJldmlvdXNHcm91cHMgPyBwcmV2aW91c0dyb3Vwcy5jb25jYXQoZ3JvdXBzKSA6IGdyb3VwcyksIHRhcmdldCk7XHJcbiAgICB9O1xyXG59Il19
@@ -1,10 +1,44 @@
1
- import { formFieldGroupsMetadataKey } from "../constants/constants";
1
+ import { Utils } from "../../common/functions/utils";
2
+ import { formFieldGroupsMetadataKey, formFieldsMetadataKey } from "../constants/constants";
3
+ import { FormFieldGroupDefinition } from "../models/form-field-group-definition";
4
+ /**
5
+ * Gets poperties decoarated with @FormField grouped by row
6
+ * @param origin
7
+ * @returns
8
+ * @deprecated
9
+ */
10
+ export function getFormGroupsOld(origin) {
11
+ return Reflect.getMetadata(formFieldsMetadataKey, origin);
12
+ }
2
13
  /**
3
14
  * Gets poperties decoarated with @FormField grouped by row
4
15
  * @param origin
5
16
  * @returns
6
17
  */
7
18
  export function getFormGroups(origin) {
8
- return Reflect.getMetadata(formFieldGroupsMetadataKey, origin);
19
+ /* Get main fields grouped by the group name */
20
+ const mainFieldGroups = Utils.groupArrayBy(Reflect.getMetadata(formFieldsMetadataKey, origin), x => x.groupName);
21
+ /* Group the fields */
22
+ var groups = Array.from(mainFieldGroups).map(([_, value], i) => new FormFieldGroupDefinition({
23
+ name: value[0].groupName || null,
24
+ header: value[0].groupHeader,
25
+ index: i,
26
+ groups: Object.values((value).reduce(function (r, a) {
27
+ r[a.row] = (r[a.row] || []);
28
+ r[a.row].push(a);
29
+ r[a.row].forEach((x, i) => x.index = x.index || i);
30
+ Utils.sortArray(r[a.row], 'index');
31
+ return r;
32
+ }, Object.create(null)))
33
+ }));
34
+ /* Get object groups */
35
+ var objectFieldGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, origin);
36
+ if (objectFieldGroups) {
37
+ groups = groups.concat(objectFieldGroups);
38
+ }
39
+ /* Sort the groups by index */
40
+ Utils.sortArray(groups, 'index');
41
+ console.log('groups', groups);
42
+ return groups;
9
43
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvZnVuY3Rpb25zL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdwRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQ3hDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQStCLENBQUM7QUFDakcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5IH0gZnJvbSBcIi4uL2NvbnN0YW50cy9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9mb3JtLWZpZWxkLWdyb3VwLWRlZmluaXRpb25cIjtcclxuXHJcbi8qKlxyXG4gKiBHZXRzIHBvcGVydGllcyBkZWNvYXJhdGVkIHdpdGggQEZvcm1GaWVsZCBncm91cGVkIGJ5IHJvd1xyXG4gKiBAcGFyYW0gb3JpZ2luIFxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtR3JvdXBzKG9yaWdpbjogb2JqZWN0KTogRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uW10ge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoZm9ybUZpZWxkR3JvdXBzTWV0YWRhdGFLZXksIG9yaWdpbikgYXMgRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uW107XHJcbn0iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvZnVuY3Rpb25zL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakY7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBYztJQUMzQyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUErQixDQUFDO0FBQzVGLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQ3hDLCtDQUErQztJQUMvQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUEwQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFJLHNCQUFzQjtJQUN0QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSx3QkFBd0IsQ0FBQztRQUNqRyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJO1FBQ2hDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVztRQUM1QixLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBMEIsRUFBRSxDQUFzQjtZQUM5RixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkMsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUE2QjtLQUN2RCxDQUFDLENBQUMsQ0FBQztJQUVKLHVCQUF1QjtJQUN2QixJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEYsSUFBSSxpQkFBaUIsRUFBRTtRQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBQzdDO0lBRUQsOEJBQThCO0lBQzlCLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi9jb21tb24vZnVuY3Rpb25zL3V0aWxzXCI7XHJcbmltcG9ydCB7IGZvcm1GaWVsZEdyb3Vwc01ldGFkYXRhS2V5LCBmb3JtRmllbGRzTWV0YWRhdGFLZXkgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9mb3JtLWZpZWxkLWRlZmluaXRpb25cIjtcclxuaW1wb3J0IHsgRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uIH0gZnJvbSBcIi4uL21vZGVscy9mb3JtLWZpZWxkLWdyb3VwLWRlZmluaXRpb25cIjtcclxuXHJcbi8qKlxyXG4gKiBHZXRzIHBvcGVydGllcyBkZWNvYXJhdGVkIHdpdGggQEZvcm1GaWVsZCBncm91cGVkIGJ5IHJvd1xyXG4gKiBAcGFyYW0gb3JpZ2luIFxyXG4gKiBAcmV0dXJucyBcclxuICogQGRlcHJlY2F0ZWRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtR3JvdXBzT2xkKG9yaWdpbjogb2JqZWN0KTogRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uW10ge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoZm9ybUZpZWxkc01ldGFkYXRhS2V5LCBvcmlnaW4pIGFzIEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbltdO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0cyBwb3BlcnRpZXMgZGVjb2FyYXRlZCB3aXRoIEBGb3JtRmllbGQgZ3JvdXBlZCBieSByb3dcclxuICogQHBhcmFtIG9yaWdpbiBcclxuICogQHJldHVybnMgXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybUdyb3VwcyhvcmlnaW46IG9iamVjdCk6IEZvcm1GaWVsZEdyb3VwRGVmaW5pdGlvbltdIHtcclxuICAgIC8qIEdldCBtYWluIGZpZWxkcyBncm91cGVkIGJ5IHRoZSBncm91cCBuYW1lICovXHJcbiAgICBjb25zdCBtYWluRmllbGRHcm91cHMgPSBVdGlscy5ncm91cEFycmF5QnkoUmVmbGVjdC5nZXRNZXRhZGF0YShmb3JtRmllbGRzTWV0YWRhdGFLZXksIG9yaWdpbikgYXMgRm9ybUZpZWxkRGVmaW5pdGlvbltdLCB4ID0+IHguZ3JvdXBOYW1lKTtcclxuXHJcbiAgICAvKiBHcm91cCB0aGUgZmllbGRzICovXHJcbiAgICB2YXIgZ3JvdXBzID0gQXJyYXkuZnJvbShtYWluRmllbGRHcm91cHMpLm1hcCgoW18sIHZhbHVlXSwgaTogbnVtYmVyKSA9PiBuZXcgRm9ybUZpZWxkR3JvdXBEZWZpbml0aW9uKHtcclxuICAgICAgICBuYW1lOiB2YWx1ZVswXS5ncm91cE5hbWUgfHwgbnVsbCxcclxuICAgICAgICBoZWFkZXI6IHZhbHVlWzBdLmdyb3VwSGVhZGVyLFxyXG4gICAgICAgIGluZGV4OiBpLFxyXG4gICAgICAgIGdyb3VwczogKE9iamVjdC52YWx1ZXMoKHZhbHVlKS5yZWR1Y2UoZnVuY3Rpb24gKHI6IFtGb3JtRmllbGREZWZpbml0aW9uW11dLCBhOiBGb3JtRmllbGREZWZpbml0aW9uKSB7XHJcbiAgICAgICAgICAgIHJbYS5yb3ddID0gKHJbYS5yb3ddIHx8IFtdKTtcclxuICAgICAgICAgICAgclthLnJvd10ucHVzaChhKTtcclxuICAgICAgICAgICAgclthLnJvd10uZm9yRWFjaCgoeCwgaSkgPT4geC5pbmRleCA9IHguaW5kZXggfHwgaSk7XHJcbiAgICAgICAgICAgIFV0aWxzLnNvcnRBcnJheShyW2Eucm93XSwgJ2luZGV4Jyk7XHJcbiAgICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgIH0sIE9iamVjdC5jcmVhdGUobnVsbCkpKSBhcyBbRm9ybUZpZWxkRGVmaW5pdGlvbltdXSlcclxuICAgIH0pKTtcclxuXHJcbiAgICAvKiBHZXQgb2JqZWN0IGdyb3VwcyAqL1xyXG4gICAgdmFyIG9iamVjdEZpZWxkR3JvdXBzID0gUmVmbGVjdC5nZXRNZXRhZGF0YShmb3JtRmllbGRHcm91cHNNZXRhZGF0YUtleSwgb3JpZ2luKTtcclxuICAgIGlmIChvYmplY3RGaWVsZEdyb3Vwcykge1xyXG4gICAgICAgIGdyb3VwcyA9IGdyb3Vwcy5jb25jYXQob2JqZWN0RmllbGRHcm91cHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFNvcnQgdGhlIGdyb3VwcyBieSBpbmRleCAqL1xyXG4gICAgVXRpbHMuc29ydEFycmF5KGdyb3VwcywgJ2luZGV4Jyk7XHJcbiAgICBjb25zb2xlLmxvZygnZ3JvdXBzJywgZ3JvdXBzKTtcclxuICAgIHJldHVybiBncm91cHM7XHJcbn0iXX0=
@@ -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==
@@ -3134,16 +3134,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
3134
3134
  args: [MatExpansionPanel]
3135
3135
  }] } });
3136
3136
 
3137
- const formFieldsMetadataKey = Symbol('vdFormFields');
3138
- const formFieldGroupsMetadataKey = Symbol('vdFormFieldGroup');
3137
+ const formFieldsMetadataKey = 'custom::vdFormFields';
3138
+ const formFieldGroupsMetadataKey = 'custom:vdFormFieldGroups';
3139
3139
 
3140
+ class FormFieldGroupDefinition {
3141
+ /**
3142
+ * constructor
3143
+ * @param init
3144
+ */
3145
+ constructor(init) {
3146
+ this.name = 'details';
3147
+ this.fields = [];
3148
+ Object.assign(this, init);
3149
+ }
3150
+ }
3151
+
3152
+ /**
3153
+ * Gets poperties decoarated with @FormField grouped by row
3154
+ * @param origin
3155
+ * @returns
3156
+ * @deprecated
3157
+ */
3158
+ function getFormGroupsOld(origin) {
3159
+ return Reflect.getMetadata(formFieldsMetadataKey, origin);
3160
+ }
3140
3161
  /**
3141
3162
  * Gets poperties decoarated with @FormField grouped by row
3142
3163
  * @param origin
3143
3164
  * @returns
3144
3165
  */
3145
3166
  function getFormGroups(origin) {
3146
- return Reflect.getMetadata(formFieldGroupsMetadataKey, origin);
3167
+ /* Get main fields grouped by the group name */
3168
+ const mainFieldGroups = Utils.groupArrayBy(Reflect.getMetadata(formFieldsMetadataKey, origin), x => x.groupName);
3169
+ /* Group the fields */
3170
+ var groups = Array.from(mainFieldGroups).map(([_, value], i) => new FormFieldGroupDefinition({
3171
+ name: value[0].groupName || null,
3172
+ header: value[0].groupHeader,
3173
+ index: i,
3174
+ groups: Object.values((value).reduce(function (r, a) {
3175
+ r[a.row] = (r[a.row] || []);
3176
+ r[a.row].push(a);
3177
+ r[a.row].forEach((x, i) => x.index = x.index || i);
3178
+ Utils.sortArray(r[a.row], 'index');
3179
+ return r;
3180
+ }, Object.create(null)))
3181
+ }));
3182
+ /* Get object groups */
3183
+ var objectFieldGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, origin);
3184
+ if (objectFieldGroups) {
3185
+ groups = groups.concat(objectFieldGroups);
3186
+ }
3187
+ /* Sort the groups by index */
3188
+ Utils.sortArray(groups, 'index');
3189
+ console.log('groups', groups);
3190
+ return groups;
3147
3191
  }
3148
3192
 
3149
3193
  // @dynamic
@@ -11886,6 +11930,7 @@ class GenericReactiveFormComponent extends GenericFormBaseComponent {
11886
11930
  super.onAfterFormBuild();
11887
11931
  if (this.buildFieldGroups && !this.fieldGroups) {
11888
11932
  this.fieldGroups = getFormGroups(new this.entityCtor());
11933
+ console.log('this.fieldGroups', this.fieldGroups);
11889
11934
  }
11890
11935
  }
11891
11936
  /**
@@ -14507,18 +14552,6 @@ class FormFieldDefinition {
14507
14552
  }
14508
14553
  }
14509
14554
 
14510
- class FormFieldGroupDefinition {
14511
- /**
14512
- * constructor
14513
- * @param init
14514
- */
14515
- constructor(init) {
14516
- this.name = 'details';
14517
- this.fields = [];
14518
- Object.assign(this, init);
14519
- }
14520
- }
14521
-
14522
14555
  /**
14523
14556
  * Property decorator to create form fields
14524
14557
  * @param args
@@ -14582,65 +14615,40 @@ function FormField(args) {
14582
14615
  let formFields = previousFormFields ? previousFormFields.concat([formField]) : [formField];
14583
14616
  /* Override the result in the metadata */
14584
14617
  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
- }));
14599
- /* Override the result in the metadata */
14600
- Reflect.defineMetadata(formFieldGroupsMetadataKey, groups, target);
14601
14618
  };
14602
14619
  }
14603
14620
  /**
14604
14621
  * Property decorator to create form fields
14605
- * @param type
14606
- * @param header
14607
- * @param init
14622
+ * @param args
14608
14623
  * @returns
14609
14624
  */
14610
- function FormFieldGroup(type, header, init) {
14625
+ function FormFieldGroup(type, args = null) {
14611
14626
  return function (target, propertyKey) {
14612
14627
  /* Create an instance of the group object */
14613
14628
  var instance = Reflect.construct(type, []);
14614
- console.log('- FormFieldGroup -----------------------');
14615
- console.log('FormFieldGroup->instance', instance);
14616
- console.log('FormFieldGroup->target', Reflect.construct(target.constructor, []));
14617
14629
  /* Get from groups */
14618
14630
  var groups = getFormGroups(instance);
14631
+ /* Get the header of the groups or create one using the property name */
14632
+ var groupHeader = (args === null || args === void 0 ? void 0 : args.header) || Reflect.getMetadata(headerMetadataKey, target, propertyKey) || propertyKey;
14619
14633
  /* Get the fields from the groups */
14620
- groups === null || groups === void 0 ? void 0 : groups.forEach(x => {
14634
+ groups === null || groups === void 0 ? void 0 : groups.forEach((x, i) => {
14621
14635
  Object.assign(x, {
14622
14636
  name: propertyKey,
14623
- header: header,
14637
+ header: groupHeader,
14624
14638
  type: type,
14625
- instance: init || instance
14639
+ instance: (args === null || args === void 0 ? void 0 : args.instance) || instance,
14640
+ index: (args === null || args === void 0 ? void 0 : args.index) || i
14626
14641
  });
14627
14642
  /* Set the name of the group in the fields */
14628
14643
  x.fields.forEach(y => Object.assign(y, {
14629
14644
  groupName: propertyKey,
14630
- groupHeader: header
14645
+ groupHeader: groupHeader
14631
14646
  }));
14632
14647
  });
14633
14648
  /* Get old form field groups */
14634
- const previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
14635
- console.log('previousGroups', previousGroups);
14636
- /* Create a copy of the result */
14637
- let combinedGroups = previousGroups ? previousGroups.concat(groups) : groups;
14649
+ var previousGroups = Reflect.getMetadata(formFieldGroupsMetadataKey, target);
14638
14650
  /* Override the result in the metadata */
14639
- Reflect.defineMetadata(formFieldGroupsMetadataKey, combinedGroups, target);
14640
- Reflect.defineMetadata('custom:groups', combinedGroups, target);
14641
- console.log('combinedGroups 1:', combinedGroups);
14642
- console.log('combinedGroups 2:', Reflect.getMetadata(formFieldGroupsMetadataKey, target));
14643
- console.log('++++++++++++++++++++++++++++++++++++++++');
14651
+ Reflect.defineMetadata(formFieldGroupsMetadataKey, (previousGroups ? previousGroups.concat(groups) : groups), target);
14644
14652
  };
14645
14653
  }
14646
14654