lct-components
Version:
LCT basic components
80 lines • 10.2 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { NG_VALUE_ACCESSOR } from "@angular/forms";
import * as i0 from "@angular/core";
export class SwitchComponent {
constructor() {
this.checked = false;
this.disabled = false;
this.enterEmitted = new EventEmitter();
this.propagateChange = (_) => { };
}
ngOnInit() {
}
ngAfterViewInit() {
if ((typeof this.checked === 'string' && (this.checked.toLowerCase() === 'true' || this.checked.toLowerCase() === 'checked' || this.checked === '')) ||
(typeof this.checked === 'boolean' && this.checked)) {
console.log('entra al true check');
this.checked = true;
}
else {
this.checked = false;
}
if ((typeof this.disabled === 'string' && (this.disabled.toLowerCase() === 'true' || this.disabled.toLowerCase() === 'disabled' || this.disabled === '')) ||
(typeof this.disabled === 'boolean' && this.disabled)) {
this.disabled = true;
}
else {
this.disabled = false;
}
}
toggle() {
this.checked = !this.checked;
this.onKeyUpHandler();
}
writeValue(value) {
if (typeof value !== 'undefined') {
this.onKeyUpHandler(value);
}
}
registerOnChange(fn) {
this.propagateChange = fn;
}
registerOnTouched(fn) {
// console.log('reg touch', fn)
}
onKeyUpHandler(event) {
if (typeof event === 'boolean') {
this.checked = event;
}
this.propagateChange(this.checked);
}
enterEmit() {
this.enterEmitted.emit(this.checked);
}
}
SwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
SwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: SwitchComponent, selector: "lct-switch", inputs: { checked: "checked", disabled: "disabled" }, outputs: { enterEmitted: "enterEmitted" }, providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: SwitchComponent,
multi: true
}], ngImport: i0, template: "<label class=\"switch\">\n <input type=\"checkbox\" (click)=\"toggle()\" [checked]=\"checked\" [disabled]=\"disabled\">\n <span class=\"slider round\"></span>\n</label>\n", styles: [".switch{position:relative;display:inline-block;width:38px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;border:1px solid #C8CCD4;transition:.4s}.slider:before{position:absolute;content:\"\";left:0%;right:50%;top:0%;bottom:0%;background-color:#e0e5ee;box-shadow:0 2px 2px #12245e26;transition:.4s}.slider:after{border:1px solid #C8CCD4;box-sizing:border-box}input:checked+.slider{background-color:#2a5aed;border:1px solid #2A5AED;box-sizing:border-box}input:disabled+.slider{background-color:#c8ccd4;cursor:not-allowed}input:checked+.slider:before{transform:translate(17px)}.slider.round{border-radius:100px}.slider.round:before{border-radius:50%}\n"] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: SwitchComponent, decorators: [{
type: Component,
args: [{
selector: 'lct-switch',
templateUrl: './switch.component.html',
styleUrls: ['./switch.component.css'],
providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: SwitchComponent,
multi: true
}]
}]
}], ctorParameters: function () { return []; }, propDecorators: { checked: [{
type: Input
}], disabled: [{
type: Input
}], enterEmitted: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xjdC1jb21wb25lbnRzL3NyYy9saWIvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sY3QtY29tcG9uZW50cy9zcmMvbGliL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBWXZFLE1BQU0sT0FBTyxlQUFlO0lBUTFCO1FBTlMsWUFBTyxHQUFxQixLQUFLLENBQUM7UUFDbEMsYUFBUSxHQUFxQixLQUFLLENBQUM7UUFDbEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO1FBRTdDLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUV6QixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQ0UsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoSixDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUNuRDtZQUNBLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7UUFDRCxJQUNFLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckosQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDckQ7WUFDQSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLCtCQUErQjtJQUNqQyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQStCO1FBQzVDLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBVSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7NEdBN0RVLGVBQWU7Z0dBQWYsZUFBZSxzSUFOZixDQUFDO1lBQ1YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsZUFBZTtZQUM1QixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsMEJDckJKLDhLQUlBOzJGRG1CYSxlQUFlO2tCQVYzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsU0FBUyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxpQkFBaUI7NEJBQzVCLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7aUJBQ0g7MEVBR1UsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsY3Qtc3dpdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogU3dpdGNoQ29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGJvb2xlYW4gfCBzdHJpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gfCBzdHJpbmcgPSBmYWxzZTtcbiAgQE91dHB1dCgpIGVudGVyRW1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuXG4gIHB1YmxpYyBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICAodHlwZW9mIHRoaXMuY2hlY2tlZCA9PT0gJ3N0cmluZycgJiYgKHRoaXMuY2hlY2tlZC50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgfHwgdGhpcy5jaGVja2VkLnRvTG93ZXJDYXNlKCkgPT09ICdjaGVja2VkJyB8fCB0aGlzLmNoZWNrZWQgPT09ICcnKSkgfHxcbiAgICAgICh0eXBlb2YgdGhpcy5jaGVja2VkID09PSAnYm9vbGVhbicgJiYgdGhpcy5jaGVja2VkKVxuICAgICkge1xuICAgICAgY29uc29sZS5sb2coJ2VudHJhIGFsIHRydWUgY2hlY2snKTtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICAodHlwZW9mIHRoaXMuZGlzYWJsZWQgPT09ICdzdHJpbmcnICYmICh0aGlzLmRpc2FibGVkLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyB8fCB0aGlzLmRpc2FibGVkLnRvTG93ZXJDYXNlKCkgPT09ICdkaXNhYmxlZCcgfHwgdGhpcy5kaXNhYmxlZCA9PT0gJycpKSB8fFxuICAgICAgKHR5cGVvZiB0aGlzLmRpc2FibGVkID09PSAnYm9vbGVhbicgJiYgdGhpcy5kaXNhYmxlZClcbiAgICApIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgdGhpcy5vbktleVVwSGFuZGxlcigpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMub25LZXlVcEhhbmRsZXIodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgLy8gY29uc29sZS5sb2coJ3JlZyB0b3VjaCcsIGZuKVxuICB9XG5cbiAgb25LZXlVcEhhbmRsZXIoZXZlbnQ/OiBLZXlib2FyZEV2ZW50IHwgYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgZXZlbnQgPT09ICdib29sZWFuJykge1xuICAgICAgdGhpcy5jaGVja2VkID0gZXZlbnQ7XG4gICAgfVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuY2hlY2tlZCk7XG4gIH1cblxuICBlbnRlckVtaXQoKSB7XG4gICAgdGhpcy5lbnRlckVtaXR0ZWQuZW1pdCg8Ym9vbGVhbj50aGlzLmNoZWNrZWQpO1xuICB9XG5cbn1cbiIsIjxsYWJlbCBjbGFzcz1cInN3aXRjaFwiPlxuICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKGNsaWNrKT1cInRvZ2dsZSgpXCIgW2NoZWNrZWRdPVwiY2hlY2tlZFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8c3BhbiBjbGFzcz1cInNsaWRlciByb3VuZFwiPjwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=