UNPKG

@junte/ui

Version:

Quality Angular UI components kit

116 lines 12.1 kB
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'; var CheckboxComponent = /** @class */ (function () { function CheckboxComponent(fb, logger) { var _this = this; 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 = function () { return _this.logger.error('value accessor is not registered'); }; this.onTouched = function () { return _this.logger.error('value accessor is not registered'); }; this.registerOnChange = function (fn) { return _this.onChange = fn; }; this.registerOnTouched = function (fn) { return _this.onTouched = fn; }; this.onBlur = function () { return _this.onTouched(); }; } CheckboxComponent_1 = CheckboxComponent; Object.defineProperty(CheckboxComponent.prototype, "size", { set: function (size) { this._size = size || Size.normal; }, enumerable: true, configurable: true }); CheckboxComponent.prototype.ngOnInit = function () { var _this = this; this.checkboxControl.valueChanges .subscribe(function (value) { return _this.onChange(value); }); }; CheckboxComponent.prototype.writeValue = function (value) { this.checkboxControl.setValue(!!value, { emitEvent: false }); }; CheckboxComponent.prototype.setDisabledState = function (disabled) { disabled ? this.checkboxControl.disable({ emitEvent: false }) : this.checkboxControl.enable({ emitEvent: false }); }; var CheckboxComponent_1; CheckboxComponent.ctorParameters = function () { return [ { 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(function () { return CheckboxComponent_1; }), multi: true }] }), __metadata("design:paramtypes", [FormBuilder, NGXLogger]) ], CheckboxComponent); return CheckboxComponent; }()); export { CheckboxComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2Zvcm1zL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVd6QztJQXVERSwyQkFBb0IsRUFBZSxFQUNmLE1BQWlCO1FBRHJDLGlCQUVDO1FBRm1CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBdERyQyxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBR0MsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBR3BDLFVBQUssR0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBb0MxQixvQkFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsYUFBUSxHQUF5QixjQUFNLE9BQUEsS0FBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENB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U0FDSCxDQUFDO3lDQXdEd0IsV0FBVztZQUNQLFNBQVM7T0F4RDFCLGlCQUFpQixDQXdFN0I7SUFBRCx3QkFBQztDQUFBLEFBeEVELElBd0VDO1NBeEVZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5HWExvZ2dlciB9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHsgUHJvcGVydHlBcGkgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMvYXBpJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NpemUnO1xuaW1wb3J0IHsgVUkgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnam50LWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmVuY2Fwc3VsYXRlZC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuXG4gIHVpID0gVUk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKVxuICByZWFkb25seSBob3N0ID0gJ2pudC1jaGVja2JveC1ob3N0JztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgX3NpemU6IFNpemUgPSBTaXplLm5vcm1hbDtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnTGFiZWwgbmFtZSBmb3IgY2hlY2tib3gnLFxuICAgIHR5cGU6ICdzdHJpbmcnXG4gIH0pXG4gIEBIb3N0QmluZGluZygnYXR0ci5sYWJlbCcpXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZCgnY2hlY2tib3hMYWJlbFRlbXBsYXRlJylcbiAgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnU2l6ZSBmb3IgY2hlY2tib3gnLFxuICAgIHBhdGg6ICd1aS5zaXplJyxcbiAgICBvcHRpb25zOiBbXG4gICAgICBTaXplLnRpbnksXG4gICAgICBTaXplLnNtYWxsLFxuICAgICAgU2l6ZS5ub3JtYWwsXG4gICAgICBTaXplLmxhcmdlXG4gICAgXSxcbiAgICBkZWZhdWx0OiBTaXplLm5vcm1hbFxuICB9KVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZShzaXplOiBTaXplKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHNpemUgfHwgU2l6ZS5ub3JtYWw7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnVmFsdWUgZm9yIGNoZWNrYm94JyxcbiAgICB0eXBlOiAnYW55J1xuICB9KVxuICBASW5wdXQoKVxuICB2YWx1ZTogYW55O1xuXG4gIGNoZWNrYm94Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbChmYWxzZSk7XG4gIGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBjaGVja2JveDogdGhpcy5jaGVja2JveENvbnRyb2xcbiAgfSk7XG5cbiAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ3ZhbHVlIGFjY2Vzc29yIGlzIG5vdCByZWdpc3RlcmVkJyk7XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHRoaXMubG9nZ2VyLmVycm9yKCd2YWx1ZSBhY2Nlc3NvciBpcyBub3QgcmVnaXN0ZXJlZCcpO1xuICByZWdpc3Rlck9uQ2hhbmdlID0gZm4gPT4gdGhpcy5vbkNoYW5nZSA9IGZuO1xuICByZWdpc3Rlck9uVG91Y2hlZCA9IGZuID0+IHRoaXMub25Ub3VjaGVkID0gZm47XG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKSBvbkJsdXIgPSAoKSA9PiB0aGlzLm9uVG91Y2hlZCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNoZWNrYm94Q29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5vbkNoYW5nZSh2YWx1ZSkpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2hlY2tib3hDb250cm9sLnNldFZhbHVlKCEhdmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgZGlzYWJsZWQgPyB0aGlzLmNoZWNrYm94Q29udHJvbC5kaXNhYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSlcbiAgICAgIDogdGhpcy5jaGVja2JveENvbnRyb2wuZW5hYmxlKHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gIH1cbn1cbiJdfQ==