diff --git a/src/app/index.js b/src/app/index.js index 14089143bed..afbbe1154de 100644 --- a/src/app/index.js +++ b/src/app/index.js @@ -488,6 +488,12 @@ Object.defineProperty(app, 'user', { } }); +Object.defineProperty(app, 'state', { + get: function() { + return state; + } +}); + app.init(); // expose app globally for debugging purposes diff --git a/src/app/metrics/intercom.js b/src/app/metrics/intercom.js index 049f8ad4e7f..9827f12de1e 100644 --- a/src/app/metrics/intercom.js +++ b/src/app/metrics/intercom.js @@ -1,3 +1,4 @@ +var _ = require('lodash'); var ipc = require('hadron-ipc'); var app = require('ampersand-app'); var metrics = require('mongodb-js-metrics')(); @@ -31,9 +32,11 @@ module.exports.configure = function() { */ var listenForLinks = getNodeObserver(function(element) { if (element.nodeName === 'A') { - element.click(app.onLinkClick.bind(app)); - } else { - element.querySelectorAll('a').click(app.onLinkClick.bind(app)); + element.onclick = app.state.onLinkClick.bind(app.state); + } else if (element.querySelectorAll) { + _.each(element.querySelectorAll('a'), function(node) { + node.onclick = app.state.onLinkClick.bind(app.state); + }); } });