@junte/ui
Version:
Quality Angular UI components kit
108 lines • 11.1 kB
JavaScript
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==