Add event reporting for hidden messages
Change-Id: Id38e345bbe02471fa9daf6741698e9c9c1d27be9
diff --git a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.html b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.html
index 05dfbcf..3f5f64f 100644
--- a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.html
+++ b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.html
@@ -15,6 +15,7 @@
-->
<link rel="import" href="../../../bower_components/polymer/polymer.html">
+<link rel="import" href="../../core/gr-reporting/gr-reporting.html">
<link rel="import" href="../../shared/gr-button/gr-button.html">
<link rel="import" href="../gr-message/gr-message.html">
@@ -96,6 +97,7 @@
on-scroll-to="_handleScrollTo"
data-message-id$="[[message.id]]"></gr-message>
</template>
+ <gr-reporting id="reporting" category="message-list"></gr-reporting>
</template>
<script src="gr-messages-list.js"></script>
</dom-module>
diff --git a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
index 774d1d2..543441a 100644
--- a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
+++ b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
@@ -17,6 +17,11 @@
var MAX_INITIAL_SHOWN_MESSAGES = 20;
var MESSAGES_INCREMENT = 5;
+ var ReportingEvent = {
+ SHOW_ALL: 'show-all-messages',
+ SHOW_MORE: 'show-more-messages',
+ };
+
Polymer({
is: 'gr-messages-list',
@@ -272,6 +277,7 @@
_handleShowAllTap: function() {
this._visibleMessages = this._processedMessages;
+ this.$.reporting.reportInteraction(ReportingEvent.SHOW_ALL);
},
_handleIncrementShownMessages: function() {
@@ -281,6 +287,7 @@
var newMessages = this._processedMessages.slice(-(len + delta), -len);
// Add newMessages to the beginning of _visibleMessages
this.splice.apply(this, ['_visibleMessages', 0, 0].concat(newMessages));
+ this.$.reporting.reportInteraction(ReportingEvent.SHOW_MORE);
},
_processedMessagesChanged: function(messages) {
diff --git a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
index 7d9fda4..d4cd1e1 100644
--- a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
+++ b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
@@ -35,6 +35,8 @@
CATEGORY: 'exception',
};
+ var INTERACTION_TYPE = 'interaction';
+
var CHANGE_VIEW_REGEX = /^\/c\/\d+\/?\d*$/;
var DIFF_VIEW_REGEX = /^\/c\/\d+\/\d+\/.+$/;
@@ -69,6 +71,8 @@
is: 'gr-reporting',
properties: {
+ category: String,
+
_baselines: {
type: Array,
value: function() { return {}; },
@@ -100,7 +104,8 @@
if (type === ERROR.TYPE) {
console.error(eventValue.error || eventName);
} else {
- console.log(eventName + ': ' + eventValue);
+ console.log(eventName + (eventValue !== undefined ?
+ (': ' + eventValue) : ''));
}
},
@@ -186,6 +191,10 @@
this.reporter(TIMING.TYPE, TIMING.CATEGORY, name, time);
delete this._baselines[name];
},
+
+ reportInteraction: function(eventName) {
+ this.reporter(INTERACTION_TYPE, this.category, eventName);
+ },
});
window.GrReporting = GrReporting;