diff --git a/frontend/src/admin/settings/components/SettingsSlackForm.jsx b/frontend/src/admin/settings/components/SettingsSlackForm.jsx index f418f769ec55a07f1106b1eac7b3324a22f8f6ca..5d870459091ef88d5368270feec42be8b09289de 100644 --- a/frontend/src/admin/settings/components/SettingsSlackForm.jsx +++ b/frontend/src/admin/settings/components/SettingsSlackForm.jsx @@ -99,6 +99,10 @@ export default class SettingsSlackForm extends Component { this.setState({ formData: { ...this.state.formData, [element.key]: (MetabaseUtils.isEmpty(value)) ? null : value } }); + + if (element.key === "metabot-enabled") { + MetabaseAnalytics.trackEvent("Slack Settings", "Toggle Metabot", value); + } } handleFormErrors(error) { diff --git a/frontend/src/dashboard/components/Dashboard.jsx b/frontend/src/dashboard/components/Dashboard.jsx index b60ec9003d60739b01883043209075ebe79ae5ce..2c03263c44eb7d2a235c08cab48a6130dd87be31 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 97e35ff88efe5774714c24a834ac94479980680f..e2a4ae648b00346fe2a20026f71394693fc82323 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>