diff --git a/zephyr/static/js/metrics.js b/zephyr/static/js/metrics.js index 9bb0dcd7ed..348bd1c066 100644 --- a/zephyr/static/js/metrics.js +++ b/zephyr/static/js/metrics.js @@ -1,49 +1,26 @@ var metrics = (function () { -var exports = {people: {}}; +var exports = {}; function enable_metrics() { return page_params.domain === "humbughq.com"; } -var methods = ["disable", "track", "track_pageview", "track_links", "track_forms", - "register", "register_once", "alias", "unregister", "identify", - "name_tag", "set_config"]; -var people_methods = ["set", "set_once", "increment", "append", "track_charge", - "clear_charges", "delete_user"]; - -function wrap_method(name, source_container, target_container_func) { - source_container[name] = function metrics_wrapper () { - if (enable_metrics()) { - // We must reference mixpanel indirectly here because - // mixpanel loads asynchronously with stub methods and - // replaces its methods when it fully loads - var target_container = target_container_func(); - return target_container[name].apply(target_container, arguments); - } - }; +if (! enable_metrics()) { + mixpanel.disable(); } -$.each(methods, function (idx, method) { - wrap_method(method, exports, function () { return mixpanel; }); -}); - -$.each(people_methods, function (idx, method) { - wrap_method(method, exports.people, function () { return mixpanel.people; }); -}); - -// This should probably move elsewhere $(function () { $(document).on('compose_started.zephyr', function (event) { - metrics.track('compose started', {user: page_params.email, - realm: page_params.domain, - type: event.message_type, - trigger: event.trigger}, - function (arg) { - if (arg !== undefined && arg.status !== 1) { - blueslip.warn(arg); - } - }); + mixpanel.track('compose started', {user: page_params.email, + realm: page_params.domain, + type: event.message_type, + trigger: event.trigger}, + function (arg) { + if (arg !== undefined && arg.status !== 1) { + blueslip.warn(arg); + } + }); }); $(document).on('narrow_activated.zephyr', function (event) { var operators = event.filter.operators(); @@ -59,17 +36,17 @@ $(function () { reported_operators = 'multiple'; } - metrics.track('narrow activated', {user: page_params.email, - realm: page_params.domain, - operators: reported_operators, - trigger: event.trigger}, - function (arg) { - if (arg !== undefined && arg.status !== 1) { - blueslip.warn(arg); - } - }); + mixpanel.track('narrow activated', {user: page_params.email, + realm: page_params.domain, + operators: reported_operators, + trigger: event.trigger}, + function (arg) { + if (arg !== undefined && arg.status !== 1) { + blueslip.warn(arg); + } + }); }); }); return exports; -}()); \ No newline at end of file +}());