From 6771c227be02e471c34ca4d3f1ca17268fa5ef21 Mon Sep 17 00:00:00 2001 From: sylenien Date: Fri, 23 Dec 2022 17:24:45 +0100 Subject: [PATCH] change(ui): update rage click picker and styles --- .../ClickMapCard/ClickMapCard.tsx | 7 ++--- .../ClickMapRagePicker/ClickMapRagePicker.tsx | 29 ++++++++++++++++++ .../components/ClickMapRagePicker/index.ts | 1 + .../components/WidgetForm/WidgetForm.tsx | 17 ++--------- .../WidgetPreview/WidgetPreview.tsx | 10 +++++-- frontend/app/mstore/metricStore.ts | 5 ++++ .../app/player/web/addons/TargetMarker.ts | 12 ++++---- .../app/player/web/addons/clickmapStyles.ts | 30 ++++++++++--------- 8 files changed, 69 insertions(+), 42 deletions(-) create mode 100644 frontend/app/components/Dashboard/components/ClickMapRagePicker/ClickMapRagePicker.tsx create mode 100644 frontend/app/components/Dashboard/components/ClickMapRagePicker/index.ts diff --git a/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/ClickMapCard/ClickMapCard.tsx b/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/ClickMapCard/ClickMapCard.tsx index 1e3f4b078..775782804 100644 --- a/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/ClickMapCard/ClickMapCard.tsx +++ b/frontend/app/components/Dashboard/Widgets/CustomMetricsWidgets/ClickMapCard/ClickMapCard.tsx @@ -4,7 +4,6 @@ import { observer } from 'mobx-react-lite' import WebPlayer from 'App/components/Session/WebPlayer' import { connect } from 'react-redux' import { setCustomSession } from 'App/duck/sessions' -import Period, { LAST_30_DAYS } from "Types/app/period"; import { fetchInsights } from 'Duck/sessions'; function ClickMapCard({ @@ -30,14 +29,12 @@ function ClickMapCard({ if (visitedEvents.length) { const urlOptions = visitedEvents.map(({ url, host }: any) => ({ label: url, value: url, host })) const url = insightsFilters.url ? insightsFilters.url : host + urlOptions[0].value; - // @ts-ignore - // const { startDate, endDate, rangeValue } = Period({ rangeName: LAST_30_DAYS }).toJSON() const rangeValue = dashboardStore.drillDownPeriod.rangeValue const startDate = dashboardStore.drillDownPeriod.start const endDate = dashboardStore.drillDownPeriod.end - fetchInsights({ ...insightsFilters, url, startDate, endDate, rangeValue }) + fetchInsights({ ...insightsFilters, url, startDate, endDate, rangeValue, clickRage: metricStore.clickMapFilter }) } - }, [visitedEvents]) + }, [visitedEvents, metricStore.clickMapFilter]) if (!metricStore.instance.data.mobsUrl || insights.size === 0) { return ( diff --git a/frontend/app/components/Dashboard/components/ClickMapRagePicker/ClickMapRagePicker.tsx b/frontend/app/components/Dashboard/components/ClickMapRagePicker/ClickMapRagePicker.tsx new file mode 100644 index 000000000..f13a21682 --- /dev/null +++ b/frontend/app/components/Dashboard/components/ClickMapRagePicker/ClickMapRagePicker.tsx @@ -0,0 +1,29 @@ +import React from 'react'; +import { Checkbox} from "UI"; +import { useStore } from 'App/mstore'; +import { observer } from 'mobx-react-lite'; + +function ClickMapRagePicker() { + const { metricStore } = useStore(); + + const onToggle = (e: React.ChangeEvent) => { + metricStore.setClickMaps(e.target.checked) + } + + React.useEffect(() => { + return () => { + metricStore.setClickMaps(false) + } + }, []) + + return ( +
+ +
+ ); +} + +export default observer(ClickMapRagePicker); \ No newline at end of file diff --git a/frontend/app/components/Dashboard/components/ClickMapRagePicker/index.ts b/frontend/app/components/Dashboard/components/ClickMapRagePicker/index.ts new file mode 100644 index 000000000..208ab0919 --- /dev/null +++ b/frontend/app/components/Dashboard/components/ClickMapRagePicker/index.ts @@ -0,0 +1 @@ +export { default } from './ClickMapRagePicker' \ No newline at end of file diff --git a/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx b/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx index 11aacfc73..3368155d3 100644 --- a/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx +++ b/frontend/app/components/Dashboard/components/WidgetForm/WidgetForm.tsx @@ -73,7 +73,6 @@ function WidgetForm(props: Props) { } if (value === CLICKMAP) { obj['viewType'] = 'chart'; - obj['metricValue'] = 'clicks' if (metric.series[0].filter.filters.length < 1) { metric.series[0].filter.addFilter({ ...clickmapFilter, @@ -99,7 +98,9 @@ function WidgetForm(props: Props) { if (parseInt(dashboardId) > 0) { history.replace(withSiteId(dashboardMetricDetails(dashboardId, metric.metricId), siteId)); const dashboard = dashboardStore.getDashboard(parseInt(dashboardId)); - dashboardStore.addWidgetToDashboard(dashboard, [metric.metricId]); + if (dashboard) { + dashboardStore.addWidgetToDashboard(dashboard, [metric.metricId]); + } } else { history.replace(withSiteId(metricDetails(metric.metricId), siteId)); } @@ -178,18 +179,6 @@ function WidgetForm(props: Props) { )} - {metric.metricType === CLICKMAP && ( - <> - showing -