UNPKG

ngx-intercom-messenger

Version:

This is an Intercom wrapper for Angular 18+ which supports AoTx

42 lines 4.41 kB
import { Directive, HostListener, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../intercom-messenger.service"; export class IntercomTrackEventDirective { intercom; event; intercomTrackEvent; metadata; constructor(intercom) { this.intercom = intercom; } onClick() { const e = this.event ? this.event : this.intercomTrackEvent; if (e && this.metadata) { this.intercom.trackEvent(e, this.metadata); } else if (e && !this.metadata) { this.intercom.trackEvent(e); } else { throw new Error('Error in intercomTrackEvent directive: You must specify an event to track.'); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IntercomTrackEventDirective, deps: [{ token: i1.IntercomMessengerService }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: IntercomTrackEventDirective, selector: "[intercomTrackEvent]", inputs: { event: "event", intercomTrackEvent: "intercomTrackEvent", metadata: "metadata" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IntercomTrackEventDirective, decorators: [{ type: Directive, args: [{ selector: '[intercomTrackEvent]' }] }], ctorParameters: () => [{ type: i1.IntercomMessengerService }], propDecorators: { event: [{ type: Input }], intercomTrackEvent: [{ type: Input }], metadata: [{ type: Input }], onClick: [{ type: HostListener, args: ['click'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2stZXZlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3gtaW50ZXJjb20tbWVzc2VuZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy90cmFjay1ldmVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFPOUQsTUFBTSxPQUFPLDJCQUEyQjtJQUtsQjtJQUpYLEtBQUssQ0FBUTtJQUNiLGtCQUFrQixDQUFRO0lBQzFCLFFBQVEsQ0FBTztJQUV4QixZQUFvQixRQUFrQztRQUFsQyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtJQUN0RCxDQUFDO0lBR00sT0FBTztRQUNaLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQTtRQUMzRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM1QyxDQUFDO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUE7UUFDL0YsQ0FBQztJQUNILENBQUM7dUdBbEJVLDJCQUEyQjsyRkFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzZGQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFNQyxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IEludGVyY29tTWVzc2VuZ2VyU2VydmljZSB9IGZyb20gJy4uL2ludGVyY29tLW1lc3Nlbmdlci5zZXJ2aWNlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaW50ZXJjb21UcmFja0V2ZW50XSdcbn0pXG5leHBvcnQgY2xhc3MgSW50ZXJjb21UcmFja0V2ZW50RGlyZWN0aXZlIHtcbiAgQElucHV0KCkgZXZlbnQ6IHN0cmluZ1xuICBASW5wdXQoKSBpbnRlcmNvbVRyYWNrRXZlbnQ6IHN0cmluZ1xuICBASW5wdXQoKSBtZXRhZGF0YTogbmV2ZXJcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGludGVyY29tOiBJbnRlcmNvbU1lc3NlbmdlclNlcnZpY2UpIHtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgZSA9IHRoaXMuZXZlbnQgPyB0aGlzLmV2ZW50IDogdGhpcy5pbnRlcmNvbVRyYWNrRXZlbnRcbiAgICBpZiAoZSAmJiB0aGlzLm1ldGFkYXRhKSB7XG4gICAgICB0aGlzLmludGVyY29tLnRyYWNrRXZlbnQoZSwgdGhpcy5tZXRhZGF0YSlcbiAgICB9IGVsc2UgaWYgKGUgJiYgIXRoaXMubWV0YWRhdGEpIHtcbiAgICAgIHRoaXMuaW50ZXJjb20udHJhY2tFdmVudChlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIGluIGludGVyY29tVHJhY2tFdmVudCBkaXJlY3RpdmU6IFlvdSBtdXN0IHNwZWNpZnkgYW4gZXZlbnQgdG8gdHJhY2suJylcbiAgICB9XG4gIH1cbn1cbiJdfQ==