UNPKG

@junte/ui

Version:

Quality Angular UI components kit

108 lines 11.1 kB
var CheckboxComponent_1; import { __decorate, __metadata } from "tslib"; import { Component, ContentChild, forwardRef, HostBinding, HostListener, Input, TemplateRef } from '@angular/core'; import { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms'; import { NGXLogger } from 'ngx-logger'; import { PropertyApi } from '../../core/decorators/api'; import { Size } from '../../core/enums/size'; import { UI } from '../../core/enums/ui'; let CheckboxComponent = CheckboxComponent_1 = class CheckboxComponent { constructor(fb, logger) { this.fb = fb; this.logger = logger; this.ui = UI; this.host = 'jnt-checkbox-host'; this._size = Size.normal; this.checkboxControl = this.fb.control(false); this.form = this.fb.group({ checkbox: this.checkboxControl }); this.onChange = () => this.logger.error('value accessor is not registered'); this.onTouched = () => this.logger.error('value accessor is not registered'); this.registerOnChange = fn => this.onChange = fn; this.registerOnTouched = fn => this.onTouched = fn; this.onBlur = () => this.onTouched(); } set size(size) { this._size = size || Size.normal; } ngOnInit() { this.checkboxControl.valueChanges .subscribe(value => this.onChange(value)); } writeValue(value) { this.checkboxControl.setValue(!!value, { emitEvent: false }); } setDisabledState(disabled) { disabled ? this.checkboxControl.disable({ emitEvent: false }) : this.checkboxControl.enable({ emitEvent: false }); } }; CheckboxComponent.ctorParameters = () => [ { type: FormBuilder }, { type: NGXLogger } ]; __decorate([ HostBinding('attr.host'), __metadata("design:type", Object) ], CheckboxComponent.prototype, "host", void 0); __decorate([ HostBinding('attr.data-size'), __metadata("design:type", String) ], CheckboxComponent.prototype, "_size", void 0); __decorate([ PropertyApi({ description: 'Label name for checkbox', type: 'string' }), HostBinding('attr.label'), Input(), __metadata("design:type", String) ], CheckboxComponent.prototype, "label", void 0); __decorate([ ContentChild('checkboxLabelTemplate'), __metadata("design:type", TemplateRef) ], CheckboxComponent.prototype, "labelTemplate", void 0); __decorate([ PropertyApi({ description: 'Size for checkbox', path: 'ui.size', options: [ Size.tiny, Size.small, Size.normal, Size.large ], default: Size.normal }), Input(), __metadata("design:type", String), __metadata("design:paramtypes", [String]) ], CheckboxComponent.prototype, "size", null); __decorate([ PropertyApi({ description: 'Value for checkbox', type: 'any' }), Input(), __metadata("design:type", Object) ], CheckboxComponent.prototype, "value", void 0); __decorate([ HostListener('blur'), __metadata("design:type", Object) ], CheckboxComponent.prototype, "onBlur", void 0); CheckboxComponent = CheckboxComponent_1 = __decorate([ Component({ selector: 'jnt-checkbox', template: "<form child-of=\"jnt-checkbox-host\" [formGroup]=\"form\">\n <input child-of=\"jnt-checkbox-host\" formControlName=\"checkbox\" type=\"checkbox\" [attr.custom]=\"!!labelTemplate\" />\n <div child-of=\"jnt-checkbox-host\" data-switch>\n <div child-of=\"jnt-checkbox-host\" *ngIf=\"checkboxControl.value\" data-icon></div>\n </div>\n <ng-template #labelDefaultTemplate>\n <label child-of=\"jnt-checkbox-host\" *ngIf=\"label\">{{label}}</label>\n </ng-template>\n <div child-of=\"jnt-checkbox-host\" label>\n <ng-container *ngTemplateOutlet=\"!!labelTemplate ? labelTemplate : labelDefaultTemplate\"></ng-container>\n </div>\n</form>", providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CheckboxComponent_1), multi: true }] }), __metadata("design:paramtypes", [FormBuilder, NGXLogger]) ], CheckboxComponent); export { CheckboxComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2Zvcm1zL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXekMsSUFBYSxpQkFBaUIseUJBQTlCLE1BQWEsaUJBQWlCO0lBdUQ1QixZQUFvQixFQUFlLEVBQ2YsTUFBaUI7UUFEakIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQVc7UUF0RHJDLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFHQyxTQUFJLEdBQUcsbUJBQW1CLENBQUM7UUFHcEMsVUFBSyxHQUFTLElBQUksQ0FBQyxNQUFNLENBQUM7UUFvQzFCLG9CQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsU0FBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUMvQixDQUFDLENBQUM7UUFFSCxhQUFRLEdBQXlCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFN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bmVudCwgQ29udGVudENoaWxkLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5HWExvZ2dlciB9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHsgUHJvcGVydHlBcGkgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMvYXBpJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NpemUnO1xuaW1wb3J0IHsgVUkgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnam50LWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmVuY2Fwc3VsYXRlZC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuXG4gIHVpID0gVUk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKVxuICByZWFkb25seSBob3N0ID0gJ2pudC1jaGVja2JveC1ob3N0JztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgX3NpemU6IFNpemUgPSBTaXplLm5vcm1hbDtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnTGFiZWwgbmFtZSBmb3IgY2hlY2tib3gnLFxuICAgIHR5cGU6ICdzdHJpbmcnXG4gIH0pXG4gIEBIb3N0QmluZGluZygnYXR0ci5sYWJlbCcpXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZCgnY2hlY2tib3hMYWJlbFRlbXBsYXRlJylcbiAgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnU2l6ZSBmb3IgY2hlY2tib3gnLFxuICAgIHBhdGg6ICd1aS5zaXplJyxcbiAgICBvcHRpb25zOiBbXG4gICAgICBTaXplLnRpbnksXG4gICAgICBTaXplLnNtYWxsLFxuICAgICAgU2l6ZS5ub3JtYWwsXG4gICAgICBTaXplLmxhcmdlXG4gICAgXSxcbiAgICBkZWZhdWx0OiBTaXplLm5vcm1hbFxuICB9KVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZShzaXplOiBTaXplKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHNpemUgfHwgU2l6ZS5ub3JtYWw7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnVmFsdWUgZm9yIGNoZWNrYm94JyxcbiAgICB0eXBlOiAnYW55J1xuICB9KVxuICBASW5wdXQoKVxuICB2YWx1ZTogYW55O1xuXG4gIGNoZWNrYm94Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbChmYWxzZSk7XG4gIGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBjaGVja2JveDogdGhpcy5jaGVja2JveENvbnRyb2xcbiAgfSk7XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ3ZhbHVlIGFjY2Vzc29yIGlzIG5vdCByZWdpc3RlcmVkJyk7XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHRoaXMubG9nZ2VyLmVycm9yKCd2YWx1ZSBhY2Nlc3NvciBpcyBub3QgcmVnaXN0ZXJlZCcpO1xuICByZWdpc3Rlck9uQ2hhbmdlID0gZm4gPT4gdGhpcy5vbkNoYW5nZSA9IGZuO1xuICByZWdpc3Rlck9uVG91Y2hlZCA9IGZuID0+IHRoaXMub25Ub3VjaGVkID0gZm47XG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKSBvbkJsdXIgPSAoKSA9PiB0aGlzLm9uVG91Y2hlZCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNoZWNrYm94Q29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5vbkNoYW5nZSh2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2hlY2tib3hDb250cm9sLnNldFZhbHVlKCEhdmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgZGlzYWJsZWQgPyB0aGlzLmNoZWNrYm94Q29udHJvbC5kaXNhYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSlcbiAgICAgIDogdGhpcy5jaGVja2JveENvbnRyb2wuZW5hYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gIH1cbn1cbiJdfQ==