Skip to content
Snippets Groups Projects
Commit 73196bf0 authored by Allen Gilliland's avatar Allen Gilliland
Browse files

add some instrumentation on new dashboard features for: fullscreen, nightmode, and auto-refresh.

parent 95934148
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,7 @@ import ReactDOM from "react-dom"; ...@@ -4,6 +4,7 @@ import ReactDOM from "react-dom";
import DashboardHeader from "../components/DashboardHeader.jsx"; import DashboardHeader from "../components/DashboardHeader.jsx";
import DashboardGrid from "../components/DashboardGrid.jsx"; import DashboardGrid from "../components/DashboardGrid.jsx";
import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper.jsx"; import LoadingAndErrorWrapper from "metabase/components/LoadingAndErrorWrapper.jsx";
import MetabaseAnalytics from "metabase/lib/analytics";
import screenfull from "screenfull"; import screenfull from "screenfull";
...@@ -134,6 +135,7 @@ export default class Dashboard extends Component { ...@@ -134,6 +135,7 @@ export default class Dashboard extends Component {
if (refreshPeriod != null) { if (refreshPeriod != null) {
this._interval = setInterval(this.tickRefreshClock, TICK_PERIOD * 1000); this._interval = setInterval(this.tickRefreshClock, TICK_PERIOD * 1000);
this.setState({ refreshPeriod, refreshElapsed: 0 }); this.setState({ refreshPeriod, refreshElapsed: 0 });
MetabaseAnalytics.trackEvent("Dashboard", "Set Refresh", refreshPeriod);
} else { } else {
this.setState({ refreshPeriod: null, refreshElapsed: null }); this.setState({ refreshPeriod: null, refreshElapsed: null });
} }
......
...@@ -134,7 +134,7 @@ export default class DashboardHeader extends Component { ...@@ -134,7 +134,7 @@ export default class DashboardHeader extends Component {
ref="dashboardHistory" ref="dashboardHistory"
triggerElement={ triggerElement={
<Tooltip tooltip="Revision History"> <Tooltip tooltip="Revision History">
<span> <span data-metabase-event={"Dashboard;Revisions"}>
<Icon className="text-brand-hover" name="history" width="16px" height="16px" /> <Icon className="text-brand-hover" name="history" width="16px" height="16px" />
</span> </span>
</Tooltip> </Tooltip>
...@@ -190,14 +190,14 @@ export default class DashboardHeader extends Component { ...@@ -190,14 +190,14 @@ export default class DashboardHeader extends Component {
if (!isEditing && !isEmpty) { if (!isEditing && !isEmpty) {
buttons.push( 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) { if (!isEditing && isFullscreen) {
buttons.push( buttons.push(
<Tooltip tooltip={isNightMode ? "Daytime mode" : "Nighttime mode"}> <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) } /> <NightModeIcon className="text-brand-hover cursor-pointer" key="night" isNightMode={isNightMode} onClick={() => this.props.onNightModeChange(!isNightMode) } />
</span> </span>
</Tooltip> </Tooltip>
...@@ -208,7 +208,7 @@ export default class DashboardHeader extends Component { ...@@ -208,7 +208,7 @@ export default class DashboardHeader extends Component {
// option click to enter fullscreen without making the browser go fullscreen // option click to enter fullscreen without making the browser go fullscreen
buttons.push( buttons.push(
<Tooltip tooltip={isFullscreen ? "Exit fullscreen" : "Enter fullscreen"}> <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)} /> <FullscreenIcon className="text-brand-hover cursor-pointer" key="fullscreen" isFullscreen={isFullscreen} onClick={(e) => this.props.onFullscreenChange(!isFullscreen, !e.altKey)} />
</span> </span>
</Tooltip> </Tooltip>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment