@objectiv/tracker-angular
Version:
Objectiv Angular framework analytics tracker for the open analytics taxonomy
114 lines • 12.7 kB
JavaScript
/*
* Copyright 2021-2022 Objectiv B.V.
*/
import { __decorate } from "tslib";
import { Directive, ElementRef, Input } from '@angular/core';
import { tagChild, tagChildren, tagContent, tagExpandable, tagInput, tagLink, tagLocation, tagMediaPlayer, tagNavigation, tagOverlay, tagPressable, tagRootLocation, } from '@objectiv/tracker-browser';
/**
* Allows calling Browser Tracker Location Taggers and Children Taggers directly from templates
*/
let ObjectivTrackerDirective = class ObjectivTrackerDirective {
constructor(element) {
this.element = element;
}
ngOnInit() {
var _a;
let locationTaggingAttributes;
let childrenTaggingAttributes;
// Children / Child Tagger
if (this.tagChildren) {
childrenTaggingAttributes = tagChildren(this.tagChildren);
}
else if (this.tagChild) {
childrenTaggingAttributes = tagChild(this.tagChild);
}
// Location Taggers
if (this.tagContent) {
locationTaggingAttributes = tagContent(this.tagContent);
}
else if (this.tagExpandable) {
locationTaggingAttributes = tagExpandable(this.tagExpandable);
}
else if (this.tagInput) {
locationTaggingAttributes = tagInput(this.tagInput);
}
else if (this.tagLink) {
locationTaggingAttributes = tagLink(this.tagLink);
}
else if (this.tagLocation) {
locationTaggingAttributes = tagLocation(this.tagLocation);
}
else if (this.tagMediaPlayer) {
locationTaggingAttributes = tagMediaPlayer(this.tagMediaPlayer);
}
else if (this.tagNavigation) {
locationTaggingAttributes = tagNavigation(this.tagNavigation);
}
else if (this.tagOverlay) {
locationTaggingAttributes = tagOverlay(this.tagOverlay);
}
else if (this.tagPressable) {
locationTaggingAttributes = tagPressable(this.tagPressable);
}
else if (this.tagRootLocation) {
locationTaggingAttributes = tagRootLocation(this.tagRootLocation);
}
// Merge Location Tagging Attributes and Children Tagging Attributes
const taggingAttributes = Object.assign(Object.assign(Object.assign({}, ((_a = this.applyTaggingAttributes) !== null && _a !== void 0 ? _a : {})), (locationTaggingAttributes !== null && locationTaggingAttributes !== void 0 ? locationTaggingAttributes : {})), (childrenTaggingAttributes !== null && childrenTaggingAttributes !== void 0 ? childrenTaggingAttributes : {}));
// Set all attributes on the nativeElement
for (let [key, value] of Object.entries(taggingAttributes)) {
if (value !== undefined) {
this.element.nativeElement.setAttribute(key, value);
}
}
}
};
ObjectivTrackerDirective.ctorParameters = () => [
{ type: ElementRef }
];
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "applyTaggingAttributes", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagChild", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagChildren", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagContent", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagExpandable", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagInput", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagLink", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagLocation", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagMediaPlayer", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagNavigation", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagOverlay", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagPressable", void 0);
__decorate([
Input()
], ObjectivTrackerDirective.prototype, "tagRootLocation", void 0);
ObjectivTrackerDirective = __decorate([
Directive({
selector: '[applyTaggingAttributes], [tagChild], [tagChildren], [tagContent], [tagExpandable], [tagInput], [tagLink], [tagLocation], [tagMediaPlayer], [tagNavigation], [tagOverlay], [tagPressable], [tagRootLocation]',
})
], ObjectivTrackerDirective);
export { ObjectivTrackerDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0aXYtdHJhY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ab2JqZWN0aXYvdHJhY2tlci1hbmd1bGFyLyIsInNvdXJjZXMiOlsib2JqZWN0aXYtdHJhY2tlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7O0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFJTCxRQUFRLEVBQ1IsV0FBVyxFQUVYLFVBQVUsRUFDVixhQUFhLEVBQ2IsUUFBUSxFQUNSLE9BQU8sRUFFUCxXQUFXLEVBR1gsY0FBYyxFQUNkLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLGVBQWUsR0FDaEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQzs7R0FFRztBQUtILElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBZW5DLFlBQW1CLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO0lBQUcsQ0FBQztJQUV2RCxRQUFROztRQUNOLElBQUkseUJBQWlELENBQUM7UUFDdEQsSUFBSSx5QkFBaUQsQ0FBQztRQUV0RCwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLHlCQUF5QixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDM0Q7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDeEIseUJBQXlCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRDtRQUVELG1CQUFtQjtRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIseUJBQXlCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6RDthQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM3Qix5QkFBeUIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQy9EO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLHlCQUF5QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckQ7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIseUJBQXlCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNuRDthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMzQix5QkFBeUIsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQzlCLHlCQUF5QixHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDakU7YUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDN0IseUJBQXlCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMvRDthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMxQix5QkFBeUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pEO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzVCLHlCQUF5QixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0Q7YUFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDL0IseUJBQXlCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNuRTtRQUVELG9FQUFvRTtRQUNwRSxNQUFNLGlCQUFpQixpREFDbEIsT0FBQyxJQUFJLENBQUMsc0JBQXNCLG1DQUFJLEVBQUUsQ0FBQyxHQUNuQyxDQUFDLHlCQUF5QixhQUF6Qix5QkFBeUIsY0FBekIseUJBQXlCLEdBQUksRUFBRSxDQUFDLEdBQ2pDLENBQUMseUJBQXlCLGFBQXpCLHlCQUF5QixjQUF6Qix5QkFBeUIsR0FBSSxFQUFFLENBQUMsQ0FDckMsQ0FBQztRQUVGLDBDQUEwQztRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBcUIsaUJBQWlCLENBQUMsRUFBRTtZQUM5RSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDckQ7U0FDRjtJQUNILENBQUM7Q0FDRixDQUFBOztZQWxENkIsVUFBVTs7QUFkN0I7SUFBUixLQUFLLEVBQUU7d0VBQWdEO0FBQy9DO0lBQVIsS0FBSyxFQUFFOzBEQUFnQztBQUMvQjtJQUFSLEtBQUssRUFBRTs2REFBcUM7QUFDcEM7SUFBUixLQUFLLEVBQUU7NERBQXNDO0FBQ3JDO0lBQVIsS0FBSyxFQUFFOytEQUF5QztBQUN4QztJQUFSLEtBQUssRUFBRTswREFBb0M7QUFDbkM7SUFBUixLQUFLLEVBQUU7eURBQTRCO0FBQzNCO0lBQVIsS0FBSyxFQUFFOzZEQUFvQztBQUNuQztJQUFSLEtBQUssRUFBRTtnRUFBMEM7QUFDekM7SUFBUixLQUFLLEVBQUU7K0RBQXlDO0FBQ3hDO0lBQVIsS0FBSyxFQUFFOzREQUFzQztBQUNyQztJQUFSLEtBQUssRUFBRTs4REFBd0M7QUFDdkM7SUFBUixLQUFLLEVBQUU7aUVBQTJDO0FBYnhDLHdCQUF3QjtJQUpwQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQ04sOE1BQThNO0tBQ2pOLENBQUM7R0FDVyx3QkFBd0IsQ0FpRXBDO1NBakVZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMS0yMDIyIE9iamVjdGl2IEIuVi5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDaGlsZHJlblRhZ2dpbmdRdWVyaWVzLFxuICBDaGlsZHJlblRhZ2dpbmdRdWVyeSxcbiAgTG9jYXRpb25UYWdnZXJQYXJhbWV0ZXJzLFxuICB0YWdDaGlsZCxcbiAgdGFnQ2hpbGRyZW4sXG4gIFRhZ0NoaWxkcmVuUmV0dXJuVmFsdWUsXG4gIHRhZ0NvbnRlbnQsXG4gIHRhZ0V4cGFuZGFibGUsXG4gIHRhZ0lucHV0LFxuICB0YWdMaW5rLFxuICBUYWdMaW5rUGFyYW1ldGVycyxcbiAgdGFnTG9jYXRpb24sXG4gIFRhZ0xvY2F0aW9uUGFyYW1ldGVycyxcbiAgVGFnTG9jYXRpb25SZXR1cm5WYWx1ZSxcbiAgdGFnTWVkaWFQbGF5ZXIsXG4gIHRhZ05hdmlnYXRpb24sXG4gIHRhZ092ZXJsYXksXG4gIHRhZ1ByZXNzYWJsZSxcbiAgdGFnUm9vdExvY2F0aW9uLFxufSBmcm9tICdAb2JqZWN0aXYvdHJhY2tlci1icm93c2VyJztcblxuLyoqXG4gKiBBbGxvd3MgY2FsbGluZyBCcm93c2VyIFRyYWNrZXIgTG9jYXRpb24gVGFnZ2VycyBhbmQgQ2hpbGRyZW4gVGFnZ2VycyBkaXJlY3RseSBmcm9tIHRlbXBsYXRlc1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6XG4gICAgJ1thcHBseVRhZ2dpbmdBdHRyaWJ1dGVzXSwgW3RhZ0NoaWxkXSwgW3RhZ0NoaWxkcmVuXSwgW3RhZ0NvbnRlbnRdLCBbdGFnRXhwYW5kYWJsZV0sIFt0YWdJbnB1dF0sIFt0YWdMaW5rXSwgW3RhZ0xvY2F0aW9uXSwgW3RhZ01lZGlhUGxheWVyXSwgW3RhZ05hdmlnYXRpb25dLCBbdGFnT3ZlcmxheV0sIFt0YWdQcmVzc2FibGVdLCBbdGFnUm9vdExvY2F0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdGl2VHJhY2tlckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIGFwcGx5VGFnZ2luZ0F0dHJpYnV0ZXM6IFRhZ0xvY2F0aW9uUmV0dXJuVmFsdWU7XG4gIEBJbnB1dCgpIHRhZ0NoaWxkOiBDaGlsZHJlblRhZ2dpbmdRdWVyeTtcbiAgQElucHV0KCkgdGFnQ2hpbGRyZW46IENoaWxkcmVuVGFnZ2luZ1F1ZXJpZXM7XG4gIEBJbnB1dCgpIHRhZ0NvbnRlbnQ6IExvY2F0aW9uVGFnZ2VyUGFyYW1ldGVycztcbiAgQElucHV0KCkgdGFnRXhwYW5kYWJsZTogTG9jYXRpb25UYWdnZXJQYXJhbWV0ZXJzO1xuICBASW5wdXQoKSB0YWdJbnB1dDogTG9jYXRpb25UYWdnZXJQYXJhbWV0ZXJzO1xuICBASW5wdXQoKSB0YWdMaW5rOiBUYWdMaW5rUGFyYW1ldGVycztcbiAgQElucHV0KCkgdGFnTG9jYXRpb246IFRhZ0xvY2F0aW9uUGFyYW1ldGVycztcbiAgQElucHV0KCkgdGFnTWVkaWFQbGF5ZXI6IExvY2F0aW9uVGFnZ2VyUGFyYW1ldGVycztcbiAgQElucHV0KCkgdGFnTmF2aWdhdGlvbjogTG9jYXRpb25UYWdnZXJQYXJhbWV0ZXJzO1xuICBASW5wdXQoKSB0YWdPdmVybGF5OiBMb2NhdGlvblRhZ2dlclBhcmFtZXRlcnM7XG4gIEBJbnB1dCgpIHRhZ1ByZXNzYWJsZTogTG9jYXRpb25UYWdnZXJQYXJhbWV0ZXJzO1xuICBASW5wdXQoKSB0YWdSb290TG9jYXRpb246IExvY2F0aW9uVGFnZ2VyUGFyYW1ldGVycztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgbGV0IGxvY2F0aW9uVGFnZ2luZ0F0dHJpYnV0ZXM6IFRhZ0xvY2F0aW9uUmV0dXJuVmFsdWU7XG4gICAgbGV0IGNoaWxkcmVuVGFnZ2luZ0F0dHJpYnV0ZXM6IFRhZ0NoaWxkcmVuUmV0dXJuVmFsdWU7XG5cbiAgICAvLyBDaGlsZHJlbiAvIENoaWxkIFRhZ2dlclxuICAgIGlmICh0aGlzLnRhZ0NoaWxkcmVuKSB7XG4gICAgICBjaGlsZHJlblRhZ2dpbmdBdHRyaWJ1dGVzID0gdGFnQ2hpbGRyZW4odGhpcy50YWdDaGlsZHJlbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ0NoaWxkKSB7XG4gICAgICBjaGlsZHJlblRhZ2dpbmdBdHRyaWJ1dGVzID0gdGFnQ2hpbGQodGhpcy50YWdDaGlsZCk7XG4gICAgfVxuXG4gICAgLy8gTG9jYXRpb24gVGFnZ2Vyc1xuICAgIGlmICh0aGlzLnRhZ0NvbnRlbnQpIHtcbiAgICAgIGxvY2F0aW9uVGFnZ2luZ0F0dHJpYnV0ZXMgPSB0YWdDb250ZW50KHRoaXMudGFnQ29udGVudCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ0V4cGFuZGFibGUpIHtcbiAgICAgIGxvY2F0aW9uVGFnZ2luZ0F0dHJpYnV0ZXMgPSB0YWdFeHBhbmRhYmxlKHRoaXMudGFnRXhwYW5kYWJsZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ0lucHV0KSB7XG4gICAgICBsb2NhdGlvblRhZ2dpbmdBdHRyaWJ1dGVzID0gdGFnSW5wdXQodGhpcy50YWdJbnB1dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ0xpbmspIHtcbiAgICAgIGxvY2F0aW9uVGFnZ2luZ0F0dHJpYnV0ZXMgPSB0YWdMaW5rKHRoaXMudGFnTGluayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ0xvY2F0aW9uKSB7XG4gICAgICBsb2NhdGlvblRhZ2dpbmdBdHRyaWJ1dGVzID0gdGFnTG9jYXRpb24odGhpcy50YWdMb2NhdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ01lZGlhUGxheWVyKSB7XG4gICAgICBsb2NhdGlvblRhZ2dpbmdBdHRyaWJ1dGVzID0gdGFnTWVkaWFQbGF5ZXIodGhpcy50YWdNZWRpYVBsYXllcik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ05hdmlnYXRpb24pIHtcbiAgICAgIGxvY2F0aW9uVGFnZ2luZ0F0dHJpYnV0ZXMgPSB0YWdOYXZpZ2F0aW9uKHRoaXMudGFnTmF2aWdhdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ092ZXJsYXkpIHtcbiAgICAgIGxvY2F0aW9uVGFnZ2luZ0F0dHJpYnV0ZXMgPSB0YWdPdmVybGF5KHRoaXMudGFnT3ZlcmxheSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ1ByZXNzYWJsZSkge1xuICAgICAgbG9jYXRpb25UYWdnaW5nQXR0cmlidXRlcyA9IHRhZ1ByZXNzYWJsZSh0aGlzLnRhZ1ByZXNzYWJsZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhZ1Jvb3RMb2NhdGlvbikge1xuICAgICAgbG9jYXRpb25UYWdnaW5nQXR0cmlidXRlcyA9IHRhZ1Jvb3RMb2NhdGlvbih0aGlzLnRhZ1Jvb3RMb2NhdGlvbik7XG4gICAgfVxuXG4gICAgLy8gTWVyZ2UgTG9jYXRpb24gVGFnZ2luZyBBdHRyaWJ1dGVzIGFuZCBDaGlsZHJlbiBUYWdnaW5nIEF0dHJpYnV0ZXNcbiAgICBjb25zdCB0YWdnaW5nQXR0cmlidXRlcyA9IHtcbiAgICAgIC4uLih0aGlzLmFwcGx5VGFnZ2luZ0F0dHJpYnV0ZXMgPz8ge30pLFxuICAgICAgLi4uKGxvY2F0aW9uVGFnZ2luZ0F0dHJpYnV0ZXMgPz8ge30pLFxuICAgICAgLi4uKGNoaWxkcmVuVGFnZ2luZ0F0dHJpYnV0ZXMgPz8ge30pLFxuICAgIH07XG5cbiAgICAvLyBTZXQgYWxsIGF0dHJpYnV0ZXMgb24gdGhlIG5hdGl2ZUVsZW1lbnRcbiAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXM8c3RyaW5nIHwgdW5kZWZpbmVkPih0YWdnaW5nQXR0cmlidXRlcykpIHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==