diff --git a/lib/mixpanel.js b/lib/mixpanel.js index 3d1145e..1e3009b 100644 --- a/lib/mixpanel.js +++ b/lib/mixpanel.js @@ -24,24 +24,3 @@ var track; } }; })(); - -// Build an object from options Store to track how settings are used in options -var prepareProps = function() { - var props = {}; - - var topics = settings.get('topics'); - if (topics) { - props.disabledTopics = _.contains(_.values(topics), false); - } else { - props.disabledTopics = false; - } - - var threshold = settings.get('wilting-threshold'); - if (threshold) { - props.thresholdUsed = threshold !== DEFAULTS['wilting-threshold']; - } else { - props.thresholdUsed = false; - } - - return props; -}; diff --git a/main.js b/main.js index cfbf430..0447bff 100644 --- a/main.js +++ b/main.js @@ -246,7 +246,7 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { }); chrome.browserAction.onClicked.addListener(function() { - track('Button Click', prepareProps()); + track('Button Click'); var url; if (url = localStorage.actionURL) { diff --git a/options.js b/options.js index a498601..8e67d96 100644 --- a/options.js +++ b/options.js @@ -2,6 +2,29 @@ var DASHBOARD_URL = 'http://www.memrise.com/home/'; var settings = new Store("settings", DEFAULTS); var resetTopics; +// Build an object from options Store to track how settings are used +var prepareProps = function() { + var props = {}; + + var topics = settings.get('topics'); + if (topics) { + props['Topics Disabled'] = _.contains(_.values(topics), false); + } else { + props['Topics Disabled'] = false; + } + + props['Wilting Threshold'] = settings.get('wilting-threshold'); + + return props; +}; + +// HACK: Store bindEvent doesn't work +var oldset = settings.set; +settings.set = function() { + oldset.apply(settings, arguments); + mixpanel.register(prepareProps()); +}; + $(document).ready(function() { // Text input logic $('input[type=text]')