UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

41 lines 5.36 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import * as i0 from "@angular/core"; export class ToggleButtonComponent { get isChecked() { return this.checked; } set isChecked(val) { this.checked = val; this.isCheckedChange.emit(this.checked); } constructor(element) { this.element = element; this.checked = false; this.isCheckedChange = new EventEmitter(); this.disabled = false; } getId() { return this.element.nativeElement.id; } doToggle(event) { if (this.disabled) { event.stopPropagation(); } else { this.isChecked = !this.isChecked; } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ToggleButtonComponent, selector: "systelab-toggle-button", inputs: { isChecked: "isChecked", disabled: "disabled" }, outputs: { isCheckedChange: "isCheckedChange" }, ngImport: i0, template: "<span (click)=\"doToggle($event)\">\n <button type=\"button\" class=\"btn\" [class.btn-outline-primary]=\"!isChecked\" [class.btn-primary]=\"isChecked\" [disabled]=\"disabled\"><ng-content></ng-content></button>\n</span>\n", styles: [":host{background-color:transparent}\n"] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonComponent, decorators: [{ type: Component, args: [{ selector: 'systelab-toggle-button', template: "<span (click)=\"doToggle($event)\">\n <button type=\"button\" class=\"btn\" [class.btn-outline-primary]=\"!isChecked\" [class.btn-primary]=\"isChecked\" [disabled]=\"disabled\"><ng-content></ng-content></button>\n</span>\n", styles: [":host{background-color:transparent}\n"] }] }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { isChecked: [{ type: Input }], isCheckedChange: [{ type: Output }], disabled: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi90b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVbkYsTUFBTSxPQUFPLHFCQUFxQjtJQUdqQyxJQUFhLFNBQVM7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFZO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBTUQsWUFBb0IsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQWYvQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBV1Asb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFJakMsQ0FBQztJQUVNLEtBQUs7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQVU7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjthQUFNO1lBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDakM7SUFDRixDQUFDOzhHQTlCVyxxQkFBcUI7a0dBQXJCLHFCQUFxQix5S0NWbEMsbU9BR0E7OzJGRE9hLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDSSx3QkFBd0I7K0VBVXhCLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU1csZUFBZTtzQkFBL0IsTUFBTTtnQkFFUyxRQUFRO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAgICAnc3lzdGVsYWItdG9nZ2xlLWJ1dHRvbicsXG5cdHRlbXBsYXRlVXJsOiAndG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlczogICAgICBbYFxuICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfWBdXG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZUJ1dHRvbkNvbXBvbmVudCB7XG5cdHByaXZhdGUgY2hlY2tlZCA9IGZhbHNlO1xuXG5cdEBJbnB1dCgpIGdldCBpc0NoZWNrZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY2hlY2tlZDtcblx0fVxuXG5cdHNldCBpc0NoZWNrZWQodmFsOiBib29sZWFuKSB7XG5cdFx0dGhpcy5jaGVja2VkID0gdmFsO1xuXHRcdHRoaXMuaXNDaGVja2VkQ2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcblx0fVxuXG5cdEBPdXRwdXQoKSBwdWJsaWMgaXNDaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuXG5cdH1cblxuXHRwdWJsaWMgZ2V0SWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlkO1xuXHR9XG5cblx0cHVibGljIGRvVG9nZ2xlKGV2ZW50OiBhbnkpIHtcblx0XHRpZiAodGhpcy5kaXNhYmxlZCkge1xuXHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuaXNDaGVja2VkID0gIXRoaXMuaXNDaGVja2VkO1xuXHRcdH1cblx0fVxufVxuIiwiPHNwYW4gKGNsaWNrKT1cImRvVG9nZ2xlKCRldmVudClcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0blwiIFtjbGFzcy5idG4tb3V0bGluZS1wcmltYXJ5XT1cIiFpc0NoZWNrZWRcIiBbY2xhc3MuYnRuLXByaW1hcnldPVwiaXNDaGVja2VkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvYnV0dG9uPlxuPC9zcGFuPlxuIl19