UNPKG

@sedeh/into-pipes

Version:

Have you ever wanted to transform data in different parts of your application into interactive objects without writing a single line of code?

60 lines 9.37 kB
import { Component, EventEmitter } from '@angular/core'; import * as i0 from "@angular/core"; export class ToggerComponent { constructor() { this.toggled = false; this.disabled = false; this.active = true; this.validate = (item, newValue) => true; this.onIntoComponentChange = new EventEmitter(); } static settingsPatterns() { return ['toggle::1:0']; //name, status, alt status } transform(source, data, args) { this.source = source; this.data = data; this.name = (args && args.length) ? args[0] : ""; this.status1 = (args && args.length > 1) ? args[1] : ""; this.status2 = (args && args.length > 2) ? args[2] : ""; } keyup(event) { const code = event.which; event.stopPropagation(); event.preventDefault(); if (code === 13 && !this.disabled) { event.target.click(); } } change(event) { if (!this.disabled && this.validate(this.data, !this.toggled)) { this.toggled = !this.toggled; this.onIntoComponentChange.emit({ id: this.id, name: this.name, value: this.toggled, type: "toggle", item: this.data }); } } } ToggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); ToggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ToggerComponent, selector: "link-component", ngImport: i0, template: ` <a tabindex="{{active ? 0 : -1}}" class="{{toggled ? status2 : status1}} {{disabled ? 'disabled' : ''}}" (keyup)='keyup($event)' (click)="change($event)"> </a>`, isInline: true, styles: [":host{display:inline-block;float:left}:host a{width:23px;height:23px;cursor:pointer;text-decoration:none}:host a:focus{outline:none;zoom:1.1;right:var(--sedeh-shift-right, 0);position:relative;color:var(--sedeh-focus-color, darkblue)}:host a:hover{opacity:var(--sedeh-hover-opacity, .5)}:host a.disabled,:host a.disabled:hover{opacity:1;pointer-events:none;color:var(--sedeh-disabled-color, #888);cursor:default;text-decoration:none}@media print{:host a{width:23px;height:23px;text-decoration:none}}\n"] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToggerComponent, decorators: [{ type: Component, args: [{ selector: 'link-component', template: ` <a tabindex="{{active ? 0 : -1}}" class="{{toggled ? status2 : status1}} {{disabled ? 'disabled' : ''}}" (keyup)='keyup($event)' (click)="change($event)"> </a>`, styles: [":host{display:inline-block;float:left}:host a{width:23px;height:23px;cursor:pointer;text-decoration:none}:host a:focus{outline:none;zoom:1.1;right:var(--sedeh-shift-right, 0);position:relative;color:var(--sedeh-focus-color, darkblue)}:host a:hover{opacity:var(--sedeh-hover-opacity, .5)}:host a.disabled,:host a.disabled:hover{opacity:1;pointer-events:none;color:var(--sedeh-disabled-color, #888);cursor:default;text-decoration:none}@media print{:host a{width:23px;height:23px;text-decoration:none}}\n"] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnRvLXBpcGVzL3NyYy9saWIvdG9nZ2xlci90b2dnbGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE2QnhELE1BQU0sT0FBTyxlQUFlO0lBMUI1QjtRQWlDSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGFBQVEsR0FBRyxDQUFDLElBQVMsRUFBRSxRQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQztRQUVqRCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBaUMzQztJQS9CRyxNQUFNLENBQUMsZ0JBQWdCO1FBQ25CLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUN0RCxDQUFDO0lBQ0QsU0FBUyxDQUFDLE1BQVcsRUFBRSxJQUFTLEVBQUUsSUFBVztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTtRQUNaLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLElBQUksS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQVU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztnQkFDNUIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ25CLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTthQUNsQixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7OzZHQTVDUSxlQUFlO2lHQUFmLGVBQWUsc0RBeEJkOzs7Ozs7U0FNTDs0RkFrQkksZUFBZTtrQkExQjNCLFNBQVM7K0JBQ0ksZ0JBQWdCLFlBQ2hCOzs7Ozs7U0FNTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBpcGVDb21wb25lbnRJbnRlcmZhY2UgfSBmcm9tICcuLi9jb21tb24vcGlwZS5jb21wb25lbnQuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaW5rLWNvbXBvbmVudCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPGEgXHJcbiAgICAgICAgdGFiaW5kZXg9XCJ7e2FjdGl2ZSA/IDAgOiAtMX19XCIgXHJcbiAgICAgICAgY2xhc3M9XCJ7e3RvZ2dsZWQgPyBzdGF0dXMyIDogc3RhdHVzMX19IHt7ZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogJyd9fVwiIFxyXG4gICAgICAgIChrZXl1cCk9J2tleXVwKCRldmVudCknIFxyXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPC9hPmAsXHJcbiAgICBzdHlsZXM6IFtcclxuICAgICAgICBgXHJcbiAgICAgICAgOmhvc3Qge2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0OmxlZnR9XHJcbiAgICAgICAgOmhvc3QgYXt3aWR0aDogMjNweDtoZWlnaHQ6IDIzcHg7Y3Vyc29yOiBwb2ludGVyO3RleHQtZGVjb3JhdGlvbjogbm9uZTt9XHJcbiAgICAgICAgOmhvc3QgYTpmb2N1c3tvdXRsaW5lOiBub25lO3pvb206IDEuMTtyaWdodDogdmFyKC0tc2VkZWgtc2hpZnQtcmlnaHQsIDApO3Bvc2l0aW9uOiByZWxhdGl2ZTtjb2xvcjogdmFyKC0tc2VkZWgtZm9jdXMtY29sb3IsIGRhcmtibHVlKTt9XHJcbiAgICAgICAgOmhvc3QgYTpob3ZlcntvcGFjaXR5OiB2YXIoLS1zZWRlaC1ob3Zlci1vcGFjaXR5LCAwLjUpO31cclxuICAgICAgICA6aG9zdCBhLmRpc2FibGVkLCA6aG9zdCBhLmRpc2FibGVkOmhvdmVye29wYWNpdHk6IDE7cG9pbnRlci1ldmVudHM6IG5vbmU7Y29sb3I6IHZhcigtLXNlZGVoLWRpc2FibGVkLWNvbG9yLCAjODg4KTtjdXJzb3I6ZGVmYXVsdDt0ZXh0LWRlY29yYXRpb246IG5vbmU7fVxyXG4gICAgICAgIEBtZWRpYSBwcmludCB7XHJcbiAgICAgICAgICAgIDpob3N0IGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9nZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgUGlwZUNvbXBvbmVudEludGVyZmFjZSB7XHJcbiAgICBpZCE6IHN0cmluZztcclxuICAgIGRhdGE6IGFueTtcclxuICAgIG5hbWUhOiBzdHJpbmc7XHJcbiAgICBzb3VyY2UhOiBzdHJpbmc7XHJcbiAgICBzdGF0dXMxITogc3RyaW5nO1xyXG4gICAgc3RhdHVzMiE6IHN0cmluZztcclxuICAgIHRvZ2dsZWQgPSBmYWxzZTtcclxuICAgIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBhY3RpdmUgPSB0cnVlO1xyXG4gICAgdmFsaWRhdGUgPSAoaXRlbTogYW55LCBuZXdWYWx1ZTogYW55KSA9PiB0cnVlO1xyXG5cclxuXHRvbkludG9Db21wb25lbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgc3RhdGljIHNldHRpbmdzUGF0dGVybnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIFsndG9nZ2xlOjoxOjAnXTsgLy9uYW1lLCBzdGF0dXMsIGFsdCBzdGF0dXNcclxuICAgIH1cclxuICAgIHRyYW5zZm9ybShzb3VyY2U6IGFueSwgZGF0YTogYW55LCBhcmdzOiBhbnlbXSkge1xyXG4gICAgICAgIHRoaXMuc291cmNlID0gc291cmNlO1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gKGFyZ3MgJiYgYXJncy5sZW5ndGgpID8gYXJnc1swXSA6IFwiXCI7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMxID0gKGFyZ3MgJiYgYXJncy5sZW5ndGggPiAxKSA/IGFyZ3NbMV0gOiBcIlwiO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzMiA9IChhcmdzICYmIGFyZ3MubGVuZ3RoID4gMikgPyBhcmdzWzJdIDogXCJcIjtcclxuICAgIH1cclxuICAgIGtleXVwKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBjb25zdCBjb2RlID0gZXZlbnQud2hpY2g7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIFxyXG4gICAgICAgIGlmIChjb2RlID09PSAxMyAmJiAhdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBldmVudC50YXJnZXQuY2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBjaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiB0aGlzLnZhbGlkYXRlKHRoaXMuZGF0YSwgIXRoaXMudG9nZ2xlZCkpIHtcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVkID0gIXRoaXMudG9nZ2xlZDtcclxuICAgICAgICAgICAgdGhpcy5vbkludG9Db21wb25lbnRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRvZ2dsZWQsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInRvZ2dsZVwiLFxyXG4gICAgICAgICAgICAgICAgaXRlbTogdGhpcy5kYXRhXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=