ngx-analytics
Version:
Vendor-agnostic web analytics for Angular2 applications, based on angulartics2
60 lines (56 loc) • 2.16 kB
JavaScript
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