@true-directive/grid
Version:
Angular Data Grid from Yopsilon.
77 lines • 6.58 kB
JavaScript
import * as tslib_1 from "tslib";
var CheckboxComponent_1;
/**
* Copyright (c) 2018-2019 Aleksey Melnikov, True Directive Company.
* @link https://truedirective.com/
* @license MIT
*/
import { Component, Input, HostBinding, forwardRef } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
/**
* Checkbox component
*/
let CheckboxComponent = CheckboxComponent_1 = class CheckboxComponent {
/**
* Checkbox component
*/
constructor() {
this.onChange = (_) => { };
this.onTouched = () => { };
this.caption = '';
}
registerOnChange(fn) { this.onChange = fn; }
registerOnTouched(fn) { this.onTouched = fn; }
get value() {
return this._value;
}
;
set value(v) {
if (v !== this._value) {
this._value = v;
this.onChange(v);
}
}
get inversed() {
return this._inversed;
}
blur() {
this.onTouched();
}
// Show value. Formatter: Ctrl --> View
writeValue(value) {
if (this._value !== value) {
this._value = value;
}
}
};
tslib_1.__decorate([
Input('caption'),
tslib_1.__metadata("design:type", String)
], CheckboxComponent.prototype, "caption", void 0);
tslib_1.__decorate([
Input('inversed'),
tslib_1.__metadata("design:type", Object)
], CheckboxComponent.prototype, "_inversed", void 0);
tslib_1.__decorate([
HostBinding('class.inversed'),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [])
], CheckboxComponent.prototype, "inversed", null);
CheckboxComponent = CheckboxComponent_1 = tslib_1.__decorate([
Component({
selector: 'true-checkbox',
template: `
<true-checkbox-wrapper [class.inversed]="inversed">
<input type="checkbox" [(ngModel)]="value" (blur)="blur()"/>
<span caption>{{caption}}</span>
</true-checkbox-wrapper>
`,
providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => CheckboxComponent_1),
multi: true
}]
})
], CheckboxComponent);
export { CheckboxComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRydWUtZGlyZWN0aXZlL2dyaWQvIiwic291cmNlcyI6WyJzcmMvY29udHJvbHMvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7RUFJRTtBQUNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFOztHQUVHO0FBY0gsSUFBYSxpQkFBaUIseUJBQTlCLE1BQWEsaUJBQWlCO0lBaEI5Qjs7T0FFRztJQUNIO1FBZVUsYUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQW1CN0IsWUFBTyxHQUFXLEVBQUUsQ0FBQztJQW9CdkIsQ0FBQztJQXJDQyxnQkFBZ0IsQ0FBQyxFQUFvQixJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRSxpQkFBaUIsQ0FBQyxFQUFjLElBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBSWhFLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQUEsQ0FBQztJQUVGLElBQUksS0FBSyxDQUFDLENBQU07UUFDZCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBU0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNILENBQUM7Q0FDRixDQUFBO0FBcEJDO0lBREMsS0FBSyxDQUFDLFNBQVMsQ0FBQzs7a0RBQ0k7QUFHckI7SUFEQyxLQUFLLENBQUMsVUFBVSxDQUFDOztvREFDSDtBQUdmO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOzs7aURBRzdCO0FBOUJVLGlCQUFpQjtJQWI3QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsZUFBZTtRQUN6QixRQUFRLEVBQUM7Ozs7O0tBS047UUFDSCxTQUFTLEVBQUUsQ0FBQztnQkFDUixPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUFDLENBQUM7S0FDaEIsQ0FBQztHQUNTLGlCQUFpQixDQTBDN0I7U0ExQ1ksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IEFsZWtzZXkgTWVsbmlrb3YsIFRydWUgRGlyZWN0aXZlIENvbXBhbnkuXHJcbiAqIEBsaW5rIGh0dHBzOi8vdHJ1ZWRpcmVjdGl2ZS5jb20vXHJcbiAqIEBsaWNlbnNlIE1JVFxyXG4qL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZywgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKipcclxuICogQ2hlY2tib3ggY29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydWUtY2hlY2tib3gnLFxyXG4gIHRlbXBsYXRlOmBcclxuICAgICAgPHRydWUtY2hlY2tib3gtd3JhcHBlciBbY2xhc3MuaW52ZXJzZWRdPVwiaW52ZXJzZWRcIj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChibHVyKT1cImJsdXIoKVwiLz5cclxuICAgICAgICA8c3BhbiBjYXB0aW9uPnt7Y2FwdGlvbn19PC9zcGFuPlxyXG4gICAgICA8L3RydWUtY2hlY2tib3gtd3JhcHBlcj5cclxuICAgIGAsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZX1dXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7fTtcclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uQ2hhbmdlID0gZm47IH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH07XHJcblxyXG4gIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMub25DaGFuZ2Uodik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2NhcHRpb24nKVxyXG4gIGNhcHRpb246IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoJ2ludmVyc2VkJylcclxuICBfaW52ZXJzZWQ6IGFueTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pbnZlcnNlZCcpXHJcbiAgZ2V0IGludmVyc2VkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ludmVyc2VkO1xyXG4gIH1cclxuXHJcbiAgYmx1cigpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvLyBTaG93IHZhbHVlLiBGb3JtYXR0ZXI6IEN0cmwgLS0+IFZpZXdcclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19