@webdev-tools/ng-nested-reactive-forms
Version:
Implement Nested FormControl for Angular Reactive Forms.
58 lines • 7.28 kB
JavaScript
import { Input } from '@angular/core';
import { Validators } from '@angular/forms';
export function NrfControlOptions() { }
if (false) {
NrfControlOptions.prototype.disabled;
}
var NrfControlOptionsComponent = (function () {
function NrfControlOptionsComponent() {
this.disabled = null;
this.min = null;
this.max = null;
this.required = null;
this.email = null;
this.minLength = null;
this.maxLength = null;
this.pattern = null;
this.updateOn = null;
}
NrfControlOptionsComponent.prototype.ngOnInit = function () {
this.controlOptions = this.generateControlOptions();
};
NrfControlOptionsComponent.prototype.generateControlOptions = function () {
var _this = this;
return {
validators: Object.keys(Validators)
.filter(function (key) { return _this[key]; })
.map(function (key) { return Validators[key]; }),
updateOn: this.updateOn,
disabled: this.disabled,
};
};
NrfControlOptionsComponent.propDecorators = {
disabled: [{ type: Input, args: ['disabled',] }],
min: [{ type: Input, args: ['min',] }],
max: [{ type: Input, args: ['max',] }],
required: [{ type: Input, args: ['required',] }],
email: [{ type: Input, args: ['email',] }],
minLength: [{ type: Input, args: ['minLength',] }],
maxLength: [{ type: Input, args: ['maxLength',] }],
pattern: [{ type: Input, args: ['pattern',] }],
updateOn: [{ type: Input, args: ['updateOn',] }]
};
return NrfControlOptionsComponent;
}());
export { NrfControlOptionsComponent };
if (false) {
NrfControlOptionsComponent.prototype.controlOptions;
NrfControlOptionsComponent.prototype.disabled;
NrfControlOptionsComponent.prototype.min;
NrfControlOptionsComponent.prototype.max;
NrfControlOptionsComponent.prototype.required;
NrfControlOptionsComponent.prototype.email;
NrfControlOptionsComponent.prototype.minLength;
NrfControlOptionsComponent.prototype.maxLength;
NrfControlOptionsComponent.prototype.pattern;
NrfControlOptionsComponent.prototype.updateOn;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3ZWJkZXYtdG9vbHMvbmctbmVzdGVkLXJlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL25lc3RlZC1jb250cm9sL2NvbnRyb2wtb3B0aW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXBFLHVDQUVDOztJQURDLHFDQUFrQjs7QUFRcEI7SUFBQTtRQVNxQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBSzlCLFFBQUcsR0FBb0IsSUFBSSxDQUFDO1FBSzVCLFFBQUcsR0FBb0IsSUFBSSxDQUFDO1FBS3ZCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFPNUIsVUFBSyxHQUFZLElBQUksQ0FBQztRQUtsQixjQUFTLEdBQW9CLElBQUksQ0FBQztRQUtsQyxjQUFTLEdBQW9CLElBQUksQ0FBQztRQUtwQyxZQUFPLEdBQW9CLElBQUksQ0FBQztRQUsvQixhQUFRLEdBQWlDLElBQUksQ0FBQztJQXFCbkUsQ0FBQztJQWhCQyw2Q0FBUSxHQUFSO1FBQ0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBS0QsMkRBQXNCLEdBQXRCO1FBQUEsaUJBUUM7UUFQQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUNoQyxNQUFNLENBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxLQUFJLENBQUMsR0FBRyxDQUFDLEVBQVQsQ0FBUyxDQUFDO2lCQUMxQixHQUFHLENBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQWYsQ0FBZSxDQUFDO1lBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztJQUNKLENBQUM7OzJCQTlEQSxLQUFLLFNBQUMsVUFBVTtzQkFLaEIsS0FBSyxTQUFDLEtBQUs7c0JBS1gsS0FBSyxTQUFDLEtBQUs7MkJBS1gsS0FBSyxTQUFDLFVBQVU7d0JBT2hCLEtBQUssU0FBQyxPQUFPOzRCQUtiLEtBQUssU0FBQyxXQUFXOzRCQUtqQixLQUFLLFNBQUMsV0FBVzswQkFLakIsS0FBSyxTQUFDLFNBQVM7MkJBS2YsS0FBSyxTQUFDLFVBQVU7O0lBcUJuQixpQ0FBQztDQUFBLEFBeEVELElBd0VDO1NBeEVxQiwwQkFBMEI7O0lBSTlDLG9EQUFrQztJQUtsQyw4Q0FBNEM7SUFLNUMseUNBQTBDO0lBSzFDLHlDQUEwQztJQUsxQyw4Q0FBNEM7SUFPNUMsMkNBQXNDO0lBS3RDLCtDQUFzRDtJQUt0RCwrQ0FBc0Q7SUFLdEQsNkNBQWtEO0lBS2xELDhDQUFpRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qIHRzbGludDpkaXNhYmxlOiB0ZXItcGFkZGVkLWJsb2NrcyAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIE5yZkNvbnRyb2xPcHRpb25zIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB7XG4gIGRpc2FibGVkOiBib29sZWFuO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZSBuby1pbnB1dC1yZW5hbWVcblxuLyoqXG4gKiBJbnB1dCB3cmFwcGVycyBjb21wb25lbnRzIHNob3VsZCBleHRlbmRzIHRoaXMgY2xhc3MgdG8gcGFzcyBjb25zdHJhaW50cyBkb3dud2FyZHNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5yZkNvbnRyb2xPcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBWYWxpZGF0b3JzIHRvIHZhbGlkYXRlIHRoZSBpbnB1dCBhbmQgdGhlIHVwZGF0ZS1vbiBzdHJhdGVneVxuICAgKi9cbiAgY29udHJvbE9wdGlvbnM6IE5yZkNvbnRyb2xPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoaXMgaW5wdXQgdG8gcmVhZG9ubHkgYW5kIGJsb2NrIGFueSBjaGFuZ2VzXG4gICAqL1xuICBASW5wdXQoJ2Rpc2FibGVkJykgZGlzYWJsZWQ6IGJvb2xlYW4gPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGxvd2VzdCBudW1iZXIgdmFsdWUgdGhhdCB0aGlzIGlucHV0IHNob3VsZCBhY2NlcHRcbiAgICovXG4gIEBJbnB1dCgnbWluJykgbWluOiBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG1heGltdW0gbnVtYmVyIHZhbHVlIHRoYXQgdGhpcyBpbnB1dCBzaG91bGQgYWNjZXB0XG4gICAqL1xuICBASW5wdXQoJ21heCcpIG1heDogc3RyaW5nIHwgbnVtYmVyID0gbnVsbDtcblxuICAvKipcbiAgICogU2V0IHRoaXMgaW5wdXQgYXMgcmVxdWlyZWQgYW5kIGZhaWxzIHdoZW4gZW1wdHlcbiAgICovXG4gIEBJbnB1dCgncmVxdWlyZWQnKSByZXF1aXJlZDogYm9vbGVhbiA9IG51bGw7XG5cbiAgLy8gQElucHV0KCdSZXF1aXJlZFRydWUnKSByZXF1aXJlZFRydWU6IHN0cmluZyA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIGlucHV0IGFzIGFuIGUtbWFpbCBhbmQgdmFsaWRhdGVzIHRoZSBlLW1haWwgcGF0dGVyXG4gICAqL1xuICBASW5wdXQoJ2VtYWlsJykgZW1haWw6IGJvb2xlYW4gPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG1pbmltdW0gY2hhcmFjdGVycyBxdWFudGl0eSB0aGlzIGlucHV0IHNob3VsZCBhY2NlcHRcbiAgICovXG4gIEBJbnB1dCgnbWluTGVuZ3RoJykgbWluTGVuZ3RoOiBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG1heGltdW0gY2hhcmFjdGVycyBxdWFudGl0eSB0aGlzIGlucHV0IHNob3VsZCBhY2NlcHRcbiAgICovXG4gIEBJbnB1dCgnbWF4TGVuZ3RoJykgbWF4TGVuZ3RoOiBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTZXQgYSBSZWd1bGFyIEV4cHJlc3Npb24gdG8gbWF0Y2ggdGhlIGlucHV0IHZhbHVlIGFnYWluc3QgYW5kIGZhaWxzIGlmIG5vdCBtYXRjaFxuICAgKi9cbiAgQElucHV0KCdwYXR0ZXJuJykgcGF0dGVybjogc3RyaW5nIHwgUmVnRXhwID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIGV2ZW50IG5hbWUgZm9yIGNvbnRyb2wgdG8gdXBkYXRlIHVwb24uXG4gICAqL1xuICBASW5wdXQoJ3VwZGF0ZU9uJykgdXBkYXRlT246ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCcgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBDYWNoZSB0aGUgdmFsaWRhdG9ycyB0byBlbmhhbmNlIHRoZSBwZXJmb3JtYW5jZVxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250cm9sT3B0aW9ucyA9IHRoaXMuZ2VuZXJhdGVDb250cm9sT3B0aW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBjb250cm9sIG9wdGlvbnMgYmFzZWQgb24gdGhlIHByb3BlcnRpZXMgc2V0IGluIHRoaXMgY29tcG9uZW50XG4gICAqL1xuICBnZW5lcmF0ZUNvbnRyb2xPcHRpb25zKCk6IE5yZkNvbnRyb2xPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsaWRhdG9yczogT2JqZWN0LmtleXMoVmFsaWRhdG9ycylcbiAgICAgICAgLmZpbHRlcigoa2V5KSA9PiB0aGlzW2tleV0pXG4gICAgICAgIC5tYXAoKGtleSkgPT4gVmFsaWRhdG9yc1trZXldKSxcbiAgICAgIHVwZGF0ZU9uOiB0aGlzLnVwZGF0ZU9uLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgfTtcbiAgfVxufVxuIl19