UNPKG

ngx-analytics

Version:

Vendor-agnostic web analytics for Angular2 applications, based on angulartics2

60 lines (56 loc) 2.16 kB
import { Injectable, NgModule } from '@angular/core'; import { ANGULARTICS2_TOKEN, NgxAnalytics, NgxAnalyticsOnModule, RouterlessTracking } from 'ngx-analytics'; import { TransitionService } from '@uirouter/core'; import { Subject as Subject$1 } from 'rxjs/Subject'; var UIRouterTracking = (function () { function UIRouterTracking(transitionService) { this.transitionService = transitionService; } UIRouterTracking.prototype.path = function (trans) { return trans.$to().url.format(trans.params()); }; UIRouterTracking.prototype.trackLocation = function (settings) { var _this = this; var subject = new Subject$1(); this.transitionService.onSuccess({}, function (trans) { return subject.next({ url: _this.path(trans) }); }, { priority: -10000, }); return subject; }; UIRouterTracking.prototype.prepareExternalUrl = function (url) { return url; }; UIRouterTracking.decorators = [ { type: Injectable }, ]; UIRouterTracking.ctorParameters = function () { return [ { type: TransitionService, }, ]; }; return UIRouterTracking; }()); var NgxAnalyticsUirouterModule = (function () { function NgxAnalyticsUirouterModule() { } NgxAnalyticsUirouterModule.forRoot = function (providers, settings) { if (settings === void 0) { settings = {}; } return { ngModule: NgxAnalyticsUirouterModule, providers: [ { provide: ANGULARTICS2_TOKEN, useValue: { providers: providers, settings: settings } }, NgxAnalytics, { provide: RouterlessTracking, useClass: UIRouterTracking } ].concat(providers), }; }; NgxAnalyticsUirouterModule.decorators = [ { type: NgModule, args: [{ imports: [NgxAnalyticsOnModule], },] }, ]; NgxAnalyticsUirouterModule.ctorParameters = function () { return []; }; return NgxAnalyticsUirouterModule; }()); export { NgxAnalyticsUirouterModule, UIRouterTracking }; //# sourceMappingURL=uiroutermodule.es2015.js.map