@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?
72 lines • 9.83 kB
JavaScript
import { Component, EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class EmailComponent {
constructor() {
this.disabled = false;
this.active = true;
this.validate = (item, newValue) => true;
this.onIntoComponentChange = new EventEmitter();
}
static settingsPatterns() {
return ['email:true']; //islink
}
transform(source, data, args) {
this.isLink = (args && args.length && args[0].length) ? args[0] === 'true' : true;
this.source = source;
}
keyup(event) {
const code = event.which;
event.stopPropagation();
event.preventDefault();
if (code === 13 && !this.disabled) {
event.target.click();
}
}
change(event) {
if (!this.disabled) {
this.onIntoComponentChange.emit({
id: this.id,
name: this.name,
value: this.source,
type: "mail-to",
item: event.type
});
}
}
}
EmailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
EmailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EmailComponent, selector: "email", ngImport: i0, template: `
<a
*ngIf="isLink"
tabindex="{{active ? 0 : -1}}"
class="email {{disabled ? 'disabled':''}}"
[href]="'mailto:' + source" (keyup)='keyup($event)'
(click)="change($event)">
<span class='fa fa-envelope' aria-hidden='true'></span>
<span [textContent]="source"></span>
</a>
<span *ngIf="!isLink">
<span class='fa fa-envelope' aria-hidden='true'></span>
<span [textContent]="source"></span>
</span>
`, isInline: true, styles: [":host{display:table;float:left;min-height:var(--sedeh-min-height, 25px)}:host:hover .email{opacity:var(--sedeh-hover-opacity, .5)}:host .email{text-decoration:none}:host .email:focus{outline:none}:host .email:focus .fa{zoom:1.1;right:var(--sedeh-shift-right, 0);position:relative;color:var(--sedeh-focus-color, darkblue)}:host .email.disabled{color:var(--sedeh-disabled-color, #888);cursor:default;pointer-events:none;text-decoration:none}:host .email.disabled .fa{color:var(--sedeh-disabled-color, #888)}:host .fa{margin:var(--sedeh-margin, 0 5px)}@media print{:host a{text-decoration:none}:host a .fa-envelope{display:none}:host .fa-envelope{display:none}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EmailComponent, decorators: [{
type: Component,
args: [{ selector: 'email', template: `
<a
*ngIf="isLink"
tabindex="{{active ? 0 : -1}}"
class="email {{disabled ? 'disabled':''}}"
[href]="'mailto:' + source" (keyup)='keyup($event)'
(click)="change($event)">
<span class='fa fa-envelope' aria-hidden='true'></span>
<span [textContent]="source"></span>
</a>
<span *ngIf="!isLink">
<span class='fa fa-envelope' aria-hidden='true'></span>
<span [textContent]="source"></span>
</span>
`, styles: [":host{display:table;float:left;min-height:var(--sedeh-min-height, 25px)}:host:hover .email{opacity:var(--sedeh-hover-opacity, .5)}:host .email{text-decoration:none}:host .email:focus{outline:none}:host .email:focus .fa{zoom:1.1;right:var(--sedeh-shift-right, 0);position:relative;color:var(--sedeh-focus-color, darkblue)}:host .email.disabled{color:var(--sedeh-disabled-color, #888);cursor:default;pointer-events:none;text-decoration:none}:host .email.disabled .fa{color:var(--sedeh-disabled-color, #888)}:host .fa{margin:var(--sedeh-margin, 0 5px)}@media print{:host a{text-decoration:none}:host a .fa-envelope{display:none}:host .fa-envelope{display:none}}\n"] }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW50by1waXBlcy9zcmMvbGliL2VtYWlsL2VtYWlsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBc0N4RCxNQUFNLE9BQU8sY0FBYztJQW5DM0I7UUF3Q0ksYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsYUFBUSxHQUFHLENBQUMsSUFBUyxFQUFFLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBRWpELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0E2QjNDO0lBM0JHLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDbkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUTtJQUNuQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLE1BQVcsRUFBRSxJQUFTLEVBQUUsSUFBVztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakYsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ1osTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBVTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzVCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNsQixJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDbkIsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzs0R0FyQ1EsY0FBYztnR0FBZCxjQUFjLDZDQWpDYjs7Ozs7Ozs7Ozs7Ozs7S0FjVDs0RkFtQlEsY0FBYztrQkFuQzFCLFNBQVM7K0JBQ0ksT0FBTyxZQUNQOzs7Ozs7Ozs7Ozs7OztLQWNUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGlwZUNvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2NvbW1vbi9waXBlLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2VtYWlsJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8YSBcclxuICAgICAgICAqbmdJZj1cImlzTGlua1wiIFxyXG4gICAgICAgIHRhYmluZGV4PVwie3thY3RpdmUgPyAwIDogLTF9fVwiIFxyXG4gICAgICAgIGNsYXNzPVwiZW1haWwge3tkaXNhYmxlZCA/ICdkaXNhYmxlZCc6Jyd9fVwiXHJcbiAgICAgICAgW2hyZWZdPVwiJ21haWx0bzonICsgc291cmNlXCIgKGtleXVwKT0na2V5dXAoJGV2ZW50KScgXHJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9J2ZhIGZhLWVudmVsb3BlJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJzb3VyY2VcIj48L3NwYW4+XHJcbiAgICA8L2E+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFpc0xpbmtcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz0nZmEgZmEtZW52ZWxvcGUnIGFyaWEtaGlkZGVuPSd0cnVlJz48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInNvdXJjZVwiPjwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuICAgIGAsXHJcbiAgICBzdHlsZXM6IFtcclxuICAgICAgICBgXHJcbiAgICAgICAgOmhvc3Qge2Rpc3BsYXk6dGFibGU7ZmxvYXQ6bGVmdDttaW4taGVpZ2h0OiB2YXIoLS1zZWRlaC1taW4taGVpZ2h0LCAyNXB4KX1cclxuICAgICAgICA6aG9zdDpob3ZlciAuZW1haWx7b3BhY2l0eTogdmFyKC0tc2VkZWgtaG92ZXItb3BhY2l0eSwgMC41KTt9XHJcbiAgICAgICAgOmhvc3QgLmVtYWlse3RleHQtZGVjb3JhdGlvbjogbm9uZTt9XHJcbiAgICAgICAgOmhvc3QgLmVtYWlsOmZvY3Vze291dGxpbmU6IG5vbmU7fVxyXG4gICAgICAgIDpob3N0IC5lbWFpbDpmb2N1cyAuZmF7em9vbTogMS4xO3JpZ2h0OiB2YXIoLS1zZWRlaC1zaGlmdC1yaWdodCwgMCk7cG9zaXRpb246IHJlbGF0aXZlO2NvbG9yOiB2YXIoLS1zZWRlaC1mb2N1cy1jb2xvciwgZGFya2JsdWUpO31cclxuICAgICAgICA6aG9zdCAuZW1haWwuZGlzYWJsZWR7Y29sb3I6IHZhcigtLXNlZGVoLWRpc2FibGVkLWNvbG9yLCAjODg4KTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czogbm9uZTt0ZXh0LWRlY29yYXRpb246IG5vbmU7fVxyXG4gICAgICAgIDpob3N0IC5lbWFpbC5kaXNhYmxlZCAuZmF7Y29sb3I6IHZhcigtLXNlZGVoLWRpc2FibGVkLWNvbG9yLCAjODg4KTt9XHJcbiAgICAgICAgOmhvc3QgLmZhe21hcmdpbjogdmFyKC0tc2VkZWgtbWFyZ2luLCAwIDVweCk7fVxyXG4gICAgICAgIEBtZWRpYSBwcmludCB7XHJcbiAgICAgICAgICAgIDpob3N0IGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fVxyXG4gICAgICAgICAgICA6aG9zdCBhIC5mYS1lbnZlbG9wZSB7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgICAgICAgIDpob3N0IC5mYS1lbnZlbG9wZSB7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGBcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVtYWlsQ29tcG9uZW50IGltcGxlbWVudHMgUGlwZUNvbXBvbmVudEludGVyZmFjZSB7XHJcbiAgICBzb3VyY2UhOiBzdHJpbmc7XHJcblx0aWQhOiBzdHJpbmc7XHJcbiAgICBuYW1lITogc3RyaW5nO1xyXG4gICAgaXNMaW5rITogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBhY3RpdmUgPSB0cnVlO1xyXG4gICAgdmFsaWRhdGUgPSAoaXRlbTogYW55LCBuZXdWYWx1ZTogYW55KSA9PiB0cnVlO1xyXG5cclxuXHRvbkludG9Db21wb25lbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgc3RhdGljIHNldHRpbmdzUGF0dGVybnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIFsnZW1haWw6dHJ1ZSddOyAvL2lzbGlua1xyXG4gICAgfVxyXG4gICAgdHJhbnNmb3JtKHNvdXJjZTogYW55LCBkYXRhOiBhbnksIGFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgdGhpcy5pc0xpbms9IChhcmdzICYmIGFyZ3MubGVuZ3RoICYmIGFyZ3NbMF0ubGVuZ3RoKSA/IGFyZ3NbMF0gPT09ICd0cnVlJyA6IHRydWU7XHJcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XHJcbiAgICB9XHJcbiAgICBrZXl1cChldmVudDogYW55KSB7XHJcbiAgICAgICAgY29uc3QgY29kZSA9IGV2ZW50LndoaWNoO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBcclxuICAgICAgICBpZiAoY29kZSA9PT0gMTMgJiYgIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmNsaWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkludG9Db21wb25lbnRDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNvdXJjZSxcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwibWFpbC10b1wiLFxyXG4gICAgICAgICAgICAgICAgaXRlbTogZXZlbnQudHlwZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19