From 58ee450a7a63277222a7e1361865f0c5a8eb5538 Mon Sep 17 00:00:00 2001 From: "Qingyang(Abby) Hu" Date: Wed, 30 Aug 2023 14:59:58 -0700 Subject: [PATCH] [Data Explorer] Add dismissible callout for discover (#4857) * add callout * add dimissible --------- Signed-off-by: abbyhu2000 --- .../view_components/canvas/index.tsx | 29 ++++++++++++++++++- .../components/discover_legacy.tsx | 29 ++++++++++++++++++- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/plugins/discover/public/application/view_components/canvas/index.tsx b/src/plugins/discover/public/application/view_components/canvas/index.tsx index 8caa65af54d..78f73456983 100644 --- a/src/plugins/discover/public/application/view_components/canvas/index.tsx +++ b/src/plugins/discover/public/application/view_components/canvas/index.tsx @@ -4,7 +4,7 @@ */ import React, { useEffect, useState } from 'react'; -import { EuiFlexGroup, EuiFlexItem, EuiPanel } from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem, EuiPanel, EuiCallOut, EuiLink } from '@elastic/eui'; import { TopNav } from './top_nav'; import { ViewProps } from '../../../../../data_explorer/public'; import { DiscoverTable } from './discover_table'; @@ -25,6 +25,32 @@ export default function DiscoverCanvas({ setHeaderActionMenu, history }: ViewPro bucketInterval: {}, }); + const [isCallOutVisible, setIsCallOutVisible] = useState(true); + const closeCallOut = () => setIsCallOutVisible(false); + + let callOut; + + if (isCallOutVisible) { + callOut = ( + + +

+ To provide feedback,{' '} + + open an issue + + . +

+
+
+ ); + } + const { status } = fetchState; useEffect(() => { @@ -65,6 +91,7 @@ export default function DiscoverCanvas({ setHeaderActionMenu, history }: ViewPro {status === ResultStatus.LOADING && } {status === ResultStatus.READY && ( <> + {callOut} diff --git a/src/plugins/discover_legacy/public/application/components/discover_legacy.tsx b/src/plugins/discover_legacy/public/application/components/discover_legacy.tsx index d458e4339d3..73580c9441a 100644 --- a/src/plugins/discover_legacy/public/application/components/discover_legacy.tsx +++ b/src/plugins/discover_legacy/public/application/components/discover_legacy.tsx @@ -30,7 +30,7 @@ import React, { useState, useCallback, useEffect } from 'react'; import classNames from 'classnames'; -import { EuiButtonEmpty, EuiButtonIcon } from '@elastic/eui'; +import { EuiButtonEmpty, EuiButtonIcon, EuiCallOut, EuiLink } from '@elastic/eui'; import { i18n } from '@osd/i18n'; import { FormattedMessage, I18nProvider } from '@osd/i18n/react'; import { IUiSettingsClient, MountPoint } from 'opensearch-dashboards/public'; @@ -132,6 +132,7 @@ export function DiscoverLegacy({ vis, }: DiscoverLegacyProps) { const [isSidebarClosed, setIsSidebarClosed] = useState(false); + const [isCallOutVisible, setIsCallOutVisible] = useState(true); const { TopNavMenu } = getServices().navigation.ui; const { savedSearch, indexPatternList } = opts; const bucketAggConfig = vis?.data?.aggs?.aggs[1]; @@ -141,6 +142,31 @@ export function DiscoverLegacy({ : undefined; const [fixedScrollEl, setFixedScrollEl] = useState(); + const closeCallOut = () => setIsCallOutVisible(false); + + let callOut; + + if (isCallOutVisible) { + callOut = ( +
+ +

+ To provide feedback,{' '} + + open an issue + + . +

+
+
+ ); + } + useEffect(() => (fixedScrollEl ? opts.fixedScroll(fixedScrollEl) : undefined), [ fixedScrollEl, opts, @@ -218,6 +244,7 @@ export function DiscoverLegacy({ />
+ {callOut} {resultState === 'none' && (