mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
converted analytics.js to ts, minor code formatting fix to timer.ts (#9663)
This commit is contained in:
parent
a7d7f0d9f8
commit
c84e3c00fe
public/app/core/services
@ -1,41 +0,0 @@
|
||||
define([
|
||||
'angular',
|
||||
'jquery',
|
||||
'app/core/core_module',
|
||||
'app/core/config',
|
||||
],
|
||||
function(angular, $, coreModule, config) {
|
||||
'use strict';
|
||||
|
||||
config = config.default;
|
||||
|
||||
coreModule.default.service('googleAnalyticsSrv', function($rootScope, $location) {
|
||||
|
||||
function gaInit() {
|
||||
$.getScript('https://www.google-analytics.com/analytics.js'); // jQuery shortcut
|
||||
var ga = window.ga = window.ga || function () { (ga.q = ga.q || []).push(arguments); }; ga.l = +new Date;
|
||||
ga('create', config.googleAnalyticsId, 'auto');
|
||||
return ga;
|
||||
}
|
||||
|
||||
this.init = function() {
|
||||
|
||||
$rootScope.$on('$viewContentLoaded', function() {
|
||||
var track = { page: $location.url() };
|
||||
|
||||
var ga = window.ga || gaInit();
|
||||
|
||||
ga('set', track);
|
||||
ga('send', 'pageview');
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
}).run(function(googleAnalyticsSrv) {
|
||||
|
||||
if (config.googleAnalyticsId) {
|
||||
googleAnalyticsSrv.init();
|
||||
}
|
||||
|
||||
});
|
||||
});
|
36
public/app/core/services/analytics.ts
Normal file
36
public/app/core/services/analytics.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import $ from 'jquery';
|
||||
import coreModule from 'app/core/core_module';
|
||||
import config from 'app/core/config';
|
||||
|
||||
export class Analytics {
|
||||
|
||||
/** @ngInject */
|
||||
constructor(private $rootScope, private $location) {
|
||||
}
|
||||
|
||||
gaInit() {
|
||||
$.getScript('https://www.google-analytics.com/analytics.js'); // jQuery shortcut
|
||||
var ga = (<any>window).ga = (<any>window).ga || function () { (ga.q = ga.q || []).push(arguments); }; ga.l = +new Date;
|
||||
ga('create', (<any>config).googleAnalyticsId, 'auto');
|
||||
return ga;
|
||||
}
|
||||
|
||||
init() {
|
||||
this.$rootScope.$on('$viewContentLoaded', () => {
|
||||
var track = { page: this.$location.url() };
|
||||
var ga = (<any>window).ga || this.gaInit();
|
||||
ga('set', track);
|
||||
ga('send', 'pageview');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/** @ngInject */
|
||||
function startAnalytics(googleAnalyticsSrv) {
|
||||
if ((<any>config).googleAnalyticsId) {
|
||||
googleAnalyticsSrv.init();
|
||||
}
|
||||
}
|
||||
|
||||
coreModule.service('googleAnalyticsSrv', Analytics).run(startAnalytics);
|
||||
|
@ -6,7 +6,7 @@ import coreModule from 'app/core/core_module';
|
||||
export class Timer {
|
||||
timers = [];
|
||||
|
||||
/** @ngInject */
|
||||
/** @ngInject */
|
||||
constructor(private $timeout) {
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user