UNPKG

@junte/ui

Version:

Quality Angular UI components kit

64 lines 7.18 kB
import { __decorate, __metadata, __param } from "tslib"; import { Component, ContentChildren, Host, HostBinding, Input, Optional, QueryList, SkipSelf } from '@angular/core'; import { AbstractControl, ControlContainer, FormArrayName, FormGroupDirective, FormGroupName } from '@angular/forms'; import { PropertyApi } from '../../../core/decorators/api'; import { UI } from '../../../core/enums/ui'; import { FormMessageComponent } from '../message/form-message.component'; var FormControlComponent = /** @class */ (function () { function FormControlComponent(parent) { this.parent = parent; this.host = 'jnt-form-control-host'; this.ui = UI; } FormControlComponent.prototype.ngAfterViewInit = function () { var _this = this; this.messages.changes.subscribe(function () { return _this.check(); }); this.check(); }; FormControlComponent.prototype.check = function () { var _this = this; this.messages.forEach(function (message) { return message.active = !!(_this.control.hasError(message.validator) && _this.control.dirty); }); }; Object.defineProperty(FormControlComponent.prototype, "control", { get: function () { return this.parent instanceof FormGroupName || this.parent instanceof FormGroupDirective || this.parent instanceof FormArrayName ? this.parent.control.get(this.name) : null; }, enumerable: true, configurable: true }); FormControlComponent.ctorParameters = function () { return [ { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf }] } ]; }; __decorate([ HostBinding('attr.host'), __metadata("design:type", Object) ], FormControlComponent.prototype, "host", void 0); __decorate([ ContentChildren(FormMessageComponent), __metadata("design:type", QueryList) ], FormControlComponent.prototype, "messages", void 0); __decorate([ PropertyApi({ description: 'Form control name', type: 'string' }), Input(), __metadata("design:type", String) ], FormControlComponent.prototype, "name", void 0); FormControlComponent = __decorate([ Component({ selector: 'jnt-form-control', template: "<jnt-stack child-of=\"jnt-form-control-host\" [gutter]=\"ui.gutter.tiny\" [align]=\"ui.align.stretch\">\n <ng-content></ng-content>\n</jnt-stack>" }), __param(0, Optional()), __param(0, Host()), __param(0, SkipSelf()), __metadata("design:paramtypes", [ControlContainer]) ], FormControlComponent); return FormControlComponent; }()); export { FormControlComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9mb3Jtcy9mb3JtL2NvbnRyb2wvZm9ybS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQU16RTtJQWlCRSw4QkFBb0QsTUFBd0I7UUFBeEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFkbkUsU0FBSSxHQUFHLHVCQUF1QixDQUFDO1FBRXhDLE9BQUUsR0FBRyxFQUFFLENBQUM7SUFhUixDQUFDO0lBRUQsOENBQWUsR0FBZjtRQUFBLGlCQUdDO1FBRkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsS0FBSyxFQUFFLEVBQVosQ0FBWSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELG9DQUFLLEdBQUw7UUFBQSxpQkFHQztRQUZDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQUEsT0FBTztZQUMzQixPQUFBLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQW5GLENBQW1GLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsc0JBQUkseUNBQU87YUFBWDtZQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sWUFBWSxhQUFhO21CQUN4QyxJQUFJLENBQUMsTUFBTSxZQUFZLGtCQUFrQjttQkFDekMsSUFBSSxDQUFDLE1BQU0sWUFBWSxhQUFhO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hELENBQUM7OztPQUFBOztnQkFsQjJELGdCQUFnQix1QkFBL0QsUUFBUSxZQUFJLElBQUksWUFBSSxRQUFROztJQWR6QztRQURDLFdBQVcsQ0FBQyxXQUFXLENBQUM7O3NEQUNlO0lBS3hDO1FBREMsZUFBZSxDQUFDLG9CQUFvQixDQUFDO2tDQUM1QixTQUFTOzBEQUF1QjtJQU8xQztRQUxDLFdBQVcsQ0FBQztZQUNYLFdBQVcsRUFBRSxtQkFBbUI7WUFDaEMsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBQ0QsS0FBSyxFQUFFOztzREFDSztJQWZGLG9CQUFvQjtRQUpoQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLDhKQUErQztTQUNoRCxDQUFDO1FBa0JhLFdBQUEsUUFBUSxFQUFFLENBQUEsRUFBRSxXQUFBLElBQUksRUFBRSxDQUFBLEVBQUUsV0FBQSxRQUFRLEVBQUUsQ0FBQTt5Q0FBaUIsZ0JBQWdCO09BakJqRSxvQkFBb0IsQ0FxQ2hDO0lBQUQsMkJBQUM7Q0FBQSxBQXJDRCxJQXFDQztTQXJDWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgUXVlcnlMaXN0LFxuICBTa2lwU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgRm9ybUFycmF5TmFtZSwgRm9ybUdyb3VwRGlyZWN0aXZlLCBGb3JtR3JvdXBOYW1lIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHJvcGVydHlBcGkgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnMvYXBpJztcbmltcG9ydCB7IFVJIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9lbnVtcy91aSc7XG5pbXBvcnQgeyBGb3JtTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL21lc3NhZ2UvZm9ybS1tZXNzYWdlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1mb3JtLWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1jb250cm9sLmVuY2Fwc3VsYXRlZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5ob3N0JylcbiAgcmVhZG9ubHkgaG9zdCA9ICdqbnQtZm9ybS1jb250cm9sLWhvc3QnO1xuXG4gIHVpID0gVUk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGb3JtTWVzc2FnZUNvbXBvbmVudClcbiAgbWVzc2FnZXM6IFF1ZXJ5TGlzdDxGb3JtTWVzc2FnZUNvbXBvbmVudD47XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0Zvcm0gY29udHJvbCBuYW1lJyxcbiAgICB0eXBlOiAnc3RyaW5nJ1xuICB9KVxuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHBhcmVudDogQ29udHJvbENvbnRhaW5lcikge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMubWVzc2FnZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVjaygpKTtcbiAgICB0aGlzLmNoZWNrKCk7XG4gIH1cblxuICBjaGVjaygpIHtcbiAgICB0aGlzLm1lc3NhZ2VzLmZvckVhY2gobWVzc2FnZSA9PlxuICAgICAgbWVzc2FnZS5hY3RpdmUgPSAhISh0aGlzLmNvbnRyb2wuaGFzRXJyb3IobWVzc2FnZS52YWxpZGF0b3IpICYmIHRoaXMuY29udHJvbC5kaXJ0eSkpO1xuICB9XG5cbiAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQgaW5zdGFuY2VvZiBGb3JtR3JvdXBOYW1lXG4gICAgfHwgdGhpcy5wYXJlbnQgaW5zdGFuY2VvZiBGb3JtR3JvdXBEaXJlY3RpdmVcbiAgICB8fCB0aGlzLnBhcmVudCBpbnN0YW5jZW9mIEZvcm1BcnJheU5hbWVcbiAgICAgID8gdGhpcy5wYXJlbnQuY29udHJvbC5nZXQodGhpcy5uYW1lKSA6IG51bGw7XG4gIH1cblxufVxuIl19