UNPKG

@junte/ui

Version:

Quality Angular UI components kit

50 lines 5.01 kB
import { __decorate, __metadata } from "tslib"; import { Component, HostBinding, Input } from '@angular/core'; import { AbstractControl, ControlContainer, FormGroupName } from '@angular/forms'; import { PropertyApi } from '../../../core/decorators/api'; let FormLabelComponent = class FormLabelComponent { constructor(parent) { this.parent = parent; this.host = 'jnt-form-label-host'; this.required = false; } ngOnInit() { const control = this.parent.control.get(this.for); if (!!control) { control.statusChanges.subscribe(() => this.check(control)); this.check(control); } } check(control) { if (!!control.validator && !!control.validator({})) { this.required = control.validator({}).required; } else { this.required = false; } } }; FormLabelComponent.ctorParameters = () => [ { type: ControlContainer } ]; __decorate([ HostBinding('attr.host'), __metadata("design:type", Object) ], FormLabelComponent.prototype, "host", void 0); __decorate([ PropertyApi({ description: 'The identifier of the item to associate with', type: 'string' }), Input(), __metadata("design:type", String) ], FormLabelComponent.prototype, "for", void 0); FormLabelComponent = __decorate([ Component({ selector: 'jnt-form-label', template: "<label child-of=\"jnt-form-label-host\" [for]=\"for\">\n <ng-content></ng-content>\n <span child-of=\"jnt-form-label-host\" data-required *ngIf=\"required\">*</span>\n</label>" }), __metadata("design:paramtypes", [ControlContainer]) ], FormLabelComponent); export { FormLabelComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AanVudGUvdWkvIiwic291cmNlcyI6WyJsaWIvZm9ybXMvZm9ybS9sYWJlbC9mb3JtLWxhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBTTNELElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBYzdCLFlBQW9CLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBWG5DLFNBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUV0QyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBVWpCLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQW1CLElBQUksQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO1lBQ2IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQXdCO1FBQzVCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQWtCLEVBQUUsQ0FBQyxFQUFFO1lBQ25FLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBa0IsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ2pFO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUM7Q0FDRixDQUFBOztZQWxCNkIsZ0JBQWdCOztBQVg1QztJQURDLFdBQVcsQ0FBQyxXQUFXLENBQUM7O2dEQUNhO0FBU3RDO0lBTEMsV0FBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLDhDQUE4QztRQUMzRCxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7SUFDRCxLQUFLLEVBQUU7OytDQUNJO0FBWkQsa0JBQWtCO0lBSjlCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsNkxBQTZDO0tBQzlDLENBQUM7cUNBZTRCLGdCQUFnQjtHQWRqQyxrQkFBa0IsQ0FnQzlCO1NBaENZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwTmFtZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFByb3BlcnR5QXBpIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzL2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1mb3JtLWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbGFiZWwuZW5jYXBzdWxhdGVkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1MYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKVxuICByZWFkb25seSBob3N0ID0gJ2pudC1mb3JtLWxhYmVsLWhvc3QnO1xuXG4gIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ1RoZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHRvIGFzc29jaWF0ZSB3aXRoJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASW5wdXQoKVxuICBmb3I6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQ29udHJvbENvbnRhaW5lcikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY29udHJvbCA9ICg8Rm9ybUdyb3VwTmFtZT50aGlzLnBhcmVudCkuY29udHJvbC5nZXQodGhpcy5mb3IpO1xuICAgIGlmICghIWNvbnRyb2wpIHtcbiAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVjayhjb250cm9sKSk7XG4gICAgICB0aGlzLmNoZWNrKGNvbnRyb2wpXG4gICAgfVxuICB9XG5cbiAgY2hlY2soY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCEhY29udHJvbC52YWxpZGF0b3IgJiYgISFjb250cm9sLnZhbGlkYXRvcig8QWJzdHJhY3RDb250cm9sPnt9KSkge1xuICAgICAgdGhpcy5yZXF1aXJlZCA9IGNvbnRyb2wudmFsaWRhdG9yKDxBYnN0cmFjdENvbnRyb2w+e30pLnJlcXVpcmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlcXVpcmVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=