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