From 73196bf08820c35701ea703f3573e4f7c6330d28 Mon Sep 17 00:00:00 2001
From: Allen Gilliland <agilliland@gmail.com>
Date: Mon, 28 Mar 2016 12:28:09 -0700
Subject: [PATCH] add some instrumentation on new dashboard features for:
 fullscreen, nightmode, and auto-refresh.

---
 frontend/src/dashboard/components/Dashboard.jsx       | 2 ++
 frontend/src/dashboard/components/DashboardHeader.jsx | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/frontend/src/dashboard/components/Dashboard.jsx b/frontend/src/dashboard/components/Dashboard.jsx
index b60ec9003d6..2c03263c44e 100644
--- a/frontend/src/dashboard/components/Dashboard.jsx
+++ b/frontend/src/dashboard/components/Dashboard.jsx
@@ -4,6 +4,7 @@ import ReactDOM from "react-dom";
 import DashboardHeader from "../components/DashboardHeader.jsx";
 import DashboardGrid from "../components/DashboardGrid.jsx";
 import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper.jsx";
+import MetabaseAnalytics from "metabase/lib/analytics";
 
 import screenfull from "screenfull";
 
@@ -134,6 +135,7 @@ export default class Dashboard extends Component {
         if (refreshPeriod != null) {
             this._interval = setInterval(this.tickRefreshClock, TICK_PERIOD * 1000);
             this.setState({ refreshPeriod, refreshElapsed: 0 });
+            MetabaseAnalytics.trackEvent("Dashboard", "Set Refresh", refreshPeriod);
         } else {
             this.setState({ refreshPeriod: null, refreshElapsed: null });
         }
diff --git a/frontend/src/dashboard/components/DashboardHeader.jsx b/frontend/src/dashboard/components/DashboardHeader.jsx
index 97e35ff88ef..e2a4ae648b0 100644
--- a/frontend/src/dashboard/components/DashboardHeader.jsx
+++ b/frontend/src/dashboard/components/DashboardHeader.jsx
@@ -134,7 +134,7 @@ export default class DashboardHeader extends Component {
                     ref="dashboardHistory"
                     triggerElement={
                         <Tooltip tooltip="Revision History">
-                            <span>
+                            <span data-metabase-event={"Dashboard;Revisions"}>
                                 <Icon className="text-brand-hover" name="history" width="16px" height="16px" />
                             </span>
                         </Tooltip>
@@ -190,14 +190,14 @@ export default class DashboardHeader extends Component {
 
         if (!isEditing && !isEmpty) {
             buttons.push(
-                <RefreshWidget className="text-brand-hover" key="refresh" period={this.props.refreshPeriod} elapsed={this.props.refreshElapsed} onChangePeriod={this.props.setRefreshPeriod} />
+                <RefreshWidget data-metabase-event="Dashboard;Refresh Menu Open" className="text-brand-hover" key="refresh" period={this.props.refreshPeriod} elapsed={this.props.refreshElapsed} onChangePeriod={this.props.setRefreshPeriod} />
             );
         }
 
         if (!isEditing && isFullscreen) {
             buttons.push(
                 <Tooltip tooltip={isNightMode ? "Daytime mode" : "Nighttime mode"}>
-                    <span>
+                    <span data-metabase-event={"Dashboard;Night Mode;"+!isNightMode}>
                         <NightModeIcon className="text-brand-hover cursor-pointer" key="night" isNightMode={isNightMode} onClick={() => this.props.onNightModeChange(!isNightMode) } />
                     </span>
                 </Tooltip>
@@ -208,7 +208,7 @@ export default class DashboardHeader extends Component {
             // option click to enter fullscreen without making the browser go fullscreen
             buttons.push(
                 <Tooltip tooltip={isFullscreen ? "Exit fullscreen" : "Enter fullscreen"}>
-                    <span>
+                    <span data-metabase-event={"Dashboard;Fullscreen Mode;"+!isFullscreen}>
                         <FullscreenIcon className="text-brand-hover cursor-pointer" key="fullscreen" isFullscreen={isFullscreen} onClick={(e) => this.props.onFullscreenChange(!isFullscreen, !e.altKey)} />
                     </span>
                 </Tooltip>
-- 
GitLab