Remove mixpanel wrapper

We can use mixpanel.disable, instead.

(imported from commit 1da1513de2f9e19b0c3149bb412030feba960f87)
This commit is contained in:
Zev Benjamin
2013-05-22 16:51:28 -04:00
committed by Tim Abbott
parent e5bcda02c4
commit a74590ea12

View File

@@ -1,41 +1,18 @@
var metrics = (function () { var metrics = (function () {
var exports = {people: {}}; var exports = {};
function enable_metrics() { function enable_metrics() {
return page_params.domain === "humbughq.com"; return page_params.domain === "humbughq.com";
} }
var methods = ["disable", "track", "track_pageview", "track_links", "track_forms", if (! enable_metrics()) {
"register", "register_once", "alias", "unregister", "identify", mixpanel.disable();
"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);
}
};
} }
$.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 () { $(function () {
$(document).on('compose_started.zephyr', function (event) { $(document).on('compose_started.zephyr', function (event) {
metrics.track('compose started', {user: page_params.email, mixpanel.track('compose started', {user: page_params.email,
realm: page_params.domain, realm: page_params.domain,
type: event.message_type, type: event.message_type,
trigger: event.trigger}, trigger: event.trigger},
@@ -59,7 +36,7 @@ $(function () {
reported_operators = 'multiple'; reported_operators = 'multiple';
} }
metrics.track('narrow activated', {user: page_params.email, mixpanel.track('narrow activated', {user: page_params.email,
realm: page_params.domain, realm: page_params.domain,
operators: reported_operators, operators: reported_operators,
trigger: event.trigger}, trigger: event.trigger},