diff --git a/packages/grafana-prometheus/src/querybuilder/QueryPatternsModal.tsx b/packages/grafana-prometheus/src/querybuilder/QueryPatternsModal.tsx index a98cc3a44c1..41ffb6f66bb 100644 --- a/packages/grafana-prometheus/src/querybuilder/QueryPatternsModal.tsx +++ b/packages/grafana-prometheus/src/querybuilder/QueryPatternsModal.tsx @@ -77,19 +77,26 @@ export const QueryPatternsModal = (props: Props) => { Kick start your query by selecting one of these queries. You can then continue to complete your query. {Object.values(PromQueryPatternType).map((patternType) => { + const isOpen = openTabs.includes(patternType); return ( + onToggle={() => { + const action = isOpen ? 'close' : 'open'; + reportInteraction(`grafana_prom_kickstart_toggle_pattern_card`, { + action, + patternType, + }); + setOpenTabs((tabs) => // close tab if it's already open, otherwise open it tabs.includes(patternType) ? tabs.filter((t) => t !== patternType) : [...tabs, patternType] - ) - } + ); + }} >
{promQueryModeller diff --git a/packages/grafana-prometheus/src/querybuilder/components/PromQueryEditorSelector.tsx b/packages/grafana-prometheus/src/querybuilder/components/PromQueryEditorSelector.tsx index cfb5d06a951..d492d350df5 100644 --- a/packages/grafana-prometheus/src/querybuilder/components/PromQueryEditorSelector.tsx +++ b/packages/grafana-prometheus/src/querybuilder/components/PromQueryEditorSelector.tsx @@ -94,6 +94,13 @@ export const PromQueryEditorSelector = memo((props) => { setExplain(e.currentTarget.checked); }; + const handleOpenQueryPatternsModal = useCallback(() => { + reportInteraction('grafana_prometheus_open_kickstart_clicked', { + app: app ?? '', + }); + setQueryPatternsModalOpen(true); + }, [app]); + return ( <> ((props) => { data-testid={selectors.components.QueryBuilder.queryPatterns} variant="secondary" size="sm" - onClick={() => setQueryPatternsModalOpen((prevValue) => !prevValue)} + onClick={handleOpenQueryPatternsModal} > Kick start your query