ngx-hotjar
Version:
A simple ng-6 wrapper to load hotjar dependency by angular way
85 lines (84 loc) • 5.44 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class NgxHotjarService {
constructor() { }
/**
* Fires an PageView event to an virtual url path
*
* @param {?} path virtual url
* @return {?}
*/
virtualPageView(path) {
try {
hj('vpv', path);
}
catch (err) {
this.error(err);
}
}
/**
* Fires an event on Hotjar. Use this method to trigger events on forms and start video recordings.
*
* @param {?} path url
* @return {?}
*/
trigger(path) {
try {
hj('trigger', path);
}
catch (err) {
this.error(err);
}
}
/**
* Allows you to tag recordings on Hotjar of all visitors passing through a page.
*
* @param {?} path tags
* @return {?}
*/
tagRecording(path) {
try {
hj('tagRecording', path);
}
catch (err) {
this.error(err);
}
}
/**
* This option is available in case you need to set up page change tracking manually
* within your app's router.
*
* @param {?} path Path
* @return {?}
*/
stateChange(path) {
try {
hj('stateChange', path);
}
catch (err) {
this.error(err);
}
}
/**
* @param {?} err
* @return {?}
*/
error(err) {
// window.hj=window.hj||function(){(hj.q=hj.q||[]).push(arguments)};
/** @todo Check typef for Hotjar */
throw new Error('Hotjar is not loaded');
}
}
NgxHotjarService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
NgxHotjarService.ctorParameters = () => [];
/** @nocollapse */ NgxHotjarService.ngInjectableDef = i0.defineInjectable({ factory: function NgxHotjarService_Factory() { return new NgxHotjarService(); }, token: NgxHotjarService, providedIn: "root" });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWhvdGphci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWhvdGphci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9uZ3gtaG90amFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU07SUFFSixpQkFBaUI7Ozs7Ozs7SUFPakIsZUFBZSxDQUFDLElBQVk7UUFDMUIsSUFBSTtZQUNGLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDakI7S0FDRjs7Ozs7OztJQU9ELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLElBQUk7WUFDRixFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3JCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO0tBQ0Y7Ozs7Ozs7SUFPRCxZQUFZLENBQUMsSUFBYztRQUN6QixJQUFJO1lBQ0YsRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMxQjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqQjtLQUNGOzs7Ozs7OztJQVFELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLElBQUk7WUFDRixFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3pCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO0tBQ0Y7Ozs7O0lBRVMsS0FBSyxDQUFDLEdBQUc7OztRQUdqQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FDekM7OztZQWhFRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgdmFyIGhqOiBGdW5jdGlvbjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4SG90amFyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKipcbiAgICogRmlyZXMgYW4gUGFnZVZpZXcgZXZlbnQgdG8gYW4gdmlydHVhbCB1cmwgcGF0aFxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCB2aXJ0dWFsIHVybFxuICAgKi9cbiAgdmlydHVhbFBhZ2VWaWV3KHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBoaigndnB2JywgcGF0aCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIGFuIGV2ZW50IG9uIEhvdGphci4gVXNlIHRoaXMgbWV0aG9kIHRvIHRyaWdnZXIgZXZlbnRzIG9uIGZvcm1zIGFuZCBzdGFydCB2aWRlbyByZWNvcmRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCB1cmxcbiAgICovXG4gIHRyaWdnZXIocGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGhqKCd0cmlnZ2VyJywgcGF0aCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB5b3UgdG8gdGFnIHJlY29yZGluZ3Mgb24gSG90amFyIG9mIGFsbCB2aXNpdG9ycyBwYXNzaW5nIHRocm91Z2ggYSBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCB0YWdzXG4gICAqL1xuICB0YWdSZWNvcmRpbmcocGF0aDogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaGooJ3RhZ1JlY29yZGluZycsIHBhdGgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG9wdGlvbiBpcyBhdmFpbGFibGUgaW4gY2FzZSB5b3UgbmVlZCB0byBzZXQgdXAgcGFnZSBjaGFuZ2UgdHJhY2tpbmcgbWFudWFsbHlcbiAgICogd2l0aGluIHlvdXIgYXBwJ3Mgcm91dGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCBQYXRoXG4gICAqL1xuICBzdGF0ZUNoYW5nZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaGooJ3N0YXRlQ2hhbmdlJywgcGF0aCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGVycm9yKGVycik6IHZvaWQge1xuICAgIC8vIHdpbmRvdy5oaj13aW5kb3cuaGp8fGZ1bmN0aW9uKCl7KGhqLnE9aGoucXx8W10pLnB1c2goYXJndW1lbnRzKX07XG4gICAgLyoqIEB0b2RvIENoZWNrIHR5cGVmIGZvciBIb3RqYXIgKi9cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0hvdGphciBpcyBub3QgbG9hZGVkJyk7XG4gIH1cblxufVxuIl19