diff --git a/public/components/application_analytics/components/application.tsx b/public/components/application_analytics/components/application.tsx index a5d3c26d5..1f09bcf17 100644 --- a/public/components/application_analytics/components/application.tsx +++ b/public/components/application_analytics/components/application.tsx @@ -24,10 +24,10 @@ import PPLService from 'public/services/requests/ppl'; import SavedObjects from 'public/services/saved_objects/event_analytics/saved_objects'; import TimestampUtils from 'public/services/timestamp/timestamp'; import React, { ReactChild, useEffect, useState } from 'react'; -import { uniqueId } from 'lodash'; import { useHistory } from 'react-router-dom'; import { useDispatch } from 'react-redux'; import { last } from 'lodash'; +import { VisualizationType } from 'common/types/custom_panels'; import { TracesContent } from '../../../components/trace_analytics/components/traces/traces_content'; import { DashboardContent } from '../../../components/trace_analytics/components/dashboard/dashboard_content'; import { ServicesContent } from '../../trace_analytics/components/services/services_content'; @@ -382,6 +382,12 @@ export function Application(props: AppDetailProps) { switchToEditViz(savedVisualizationId); }; + const updateAvailabilityVizId = (vizs: VisualizationType[]) => { + if (!vizs.map((viz) => viz.savedVisualizationId).includes(application.availabilityVisId)) { + updateApp(appId, { availabilityVisId: '' }, 'editAvailability'); + } + }; + const getPanel = () => { return ( { endTime, setStartTime, setEndTime, + updateAvailabilityVizId, renameCustomPanel, deleteCustomPanel, cloneCustomPanel, @@ -643,6 +645,7 @@ export const CustomPanelView = (props: CustomPanelViewProps) => { >; editMode: boolean; @@ -64,6 +65,7 @@ export const PanelGrid = (props: PanelGridProps) => { http, chrome, panelId, + updateAvailabilityVizId, panelVisualizations, setPanelVisualizations, editMode, @@ -166,6 +168,7 @@ export const PanelGrid = (props: PanelGridProps) => { _.omit(layout, ['static', 'moved']) ); saveVisualizationLayouts(panelId, visualizationParams); + updateAvailabilityVizId(panelVisualizations); } }, [editActionType]);