Files
standardnotes-app-web/app/assets/javascripts/app/services/analyticsManager.js
2017-04-25 11:45:04 -05:00

52 lines
1.3 KiB
JavaScript

class AnalyticsManager {
constructor(authManager) {
this.authManager = authManager;
var status = localStorage.getItem("analyticsEnabled");
if(status === null) {
this.enabled = true;
} else {
this.enabled = JSON.parse(status);
}
if(this.enabled === true) {
this.initialize();
}
}
setStatus(enabled) {
this.enabled = enabled;
localStorage.setItem("analyticsEnabled", JSON.stringify(enabled));
window.location.reload();
}
toggleStatus() {
this.setStatus(!this.enabled);
}
initialize() {
// load analytics
window._paq = window._paq || [];
(function() {
var u="https://piwik.standardnotes.org/";
window._paq.push(['setTrackerUrl', u+'piwik.php']);
window._paq.push(['setSiteId', '2']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.id="piwik", g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
var analyticsId = this.authManager.getUserAnalyticsId();
if(analyticsId) {
window._paq.push(['setUserId', analyticsId]);
}
window._paq.push(['trackPageView', "AppInterface"]);
window._paq.push(['enableLinkTracking']);
}
}
angular.module('app.frontend').service('analyticsManager', AnalyticsManager);