Просмотр исходного кода

converted analytics.js to ts, minor code formatting fix to timer.ts (#9663)

Patrick O'Carroll 8 лет назад
Родитель
Сommit
c84e3c00fe

+ 0 - 41
public/app/core/services/analytics.js

@@ -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 - 0
public/app/core/services/analytics.ts

@@ -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);
+

+ 1 - 1
public/app/core/services/timer.ts

@@ -6,7 +6,7 @@ import coreModule from 'app/core/core_module';
 export class Timer {
   timers = [];
 
-   /** @ngInject */
+  /** @ngInject */
   constructor(private $timeout) {
   }