Skip to content

Commit 291d17f

Browse files
authored
Update availabilityVizId if visualization is removed from panel (#732)
Signed-off-by: Eugene Lee <[email protected]>
1 parent 9c2a8fb commit 291d17f

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

dashboards-observability/public/components/application_analytics/components/application.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ import PPLService from 'public/services/requests/ppl';
2424
import SavedObjects from 'public/services/saved_objects/event_analytics/saved_objects';
2525
import TimestampUtils from 'public/services/timestamp/timestamp';
2626
import React, { ReactChild, useEffect, useState } from 'react';
27-
import { uniqueId } from 'lodash';
2827
import { useHistory } from 'react-router-dom';
2928
import { useDispatch } from 'react-redux';
3029
import { last } from 'lodash';
30+
import { VisualizationType } from 'common/types/custom_panels';
3131
import { TracesContent } from '../../../components/trace_analytics/components/traces/traces_content';
3232
import { DashboardContent } from '../../../components/trace_analytics/components/dashboard/dashboard_content';
3333
import { ServicesContent } from '../../trace_analytics/components/services/services_content';
@@ -380,6 +380,12 @@ export function Application(props: AppDetailProps) {
380380
switchToEditViz(savedVisualizationId);
381381
};
382382

383+
const updateAvailabilityVizId = (vizs: VisualizationType[]) => {
384+
if (!vizs.map((viz) => viz.savedVisualizationId).includes(application.availabilityVisId)) {
385+
updateApp(appId, { availabilityVisId: '' }, 'editAvailability');
386+
}
387+
};
388+
383389
const getPanel = () => {
384390
return (
385391
<CustomPanelView
@@ -397,6 +403,7 @@ export function Application(props: AppDetailProps) {
397403
setToast={setToasts}
398404
page="app"
399405
appId={appId}
406+
updateAvailabilityVizId={updateAvailabilityVizId}
400407
startTime={appStartTime}
401408
endTime={appEndTime}
402409
setStartTime={setStartTimeForApp}

dashboards-observability/public/components/custom_panels/custom_panel_view.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ interface CustomPanelViewProps {
109109
setEndTime: any;
110110
childBreadcrumbs?: EuiBreadcrumb[];
111111
appId?: string;
112+
updateAvailabilityVizId?: any;
112113
onAddClick?: any;
113114
}
114115

@@ -127,6 +128,7 @@ export const CustomPanelView = (props: CustomPanelViewProps) => {
127128
endTime,
128129
setStartTime,
129130
setEndTime,
131+
updateAvailabilityVizId,
130132
renameCustomPanel,
131133
deleteCustomPanel,
132134
cloneCustomPanel,
@@ -643,6 +645,7 @@ export const CustomPanelView = (props: CustomPanelViewProps) => {
643645
<PanelGrid
644646
http={http}
645647
panelId={panelId}
648+
updateAvailabilityVizId={updateAvailabilityVizId}
646649
chrome={chrome}
647650
panelVisualizations={panelVisualizations}
648651
setPanelVisualizations={setPanelVisualizations}

dashboards-observability/public/components/custom_panels/panel_modules/panel_grid/panel_grid.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ interface PanelGridProps {
4444
http: CoreStart['http'];
4545
chrome: CoreStart['chrome'];
4646
panelId: string;
47+
updateAvailabilityVizId?: any;
4748
panelVisualizations: VisualizationType[];
4849
setPanelVisualizations: React.Dispatch<React.SetStateAction<VisualizationType[]>>;
4950
editMode: boolean;
@@ -64,6 +65,7 @@ export const PanelGrid = (props: PanelGridProps) => {
6465
http,
6566
chrome,
6667
panelId,
68+
updateAvailabilityVizId,
6769
panelVisualizations,
6870
setPanelVisualizations,
6971
editMode,
@@ -166,6 +168,7 @@ export const PanelGrid = (props: PanelGridProps) => {
166168
_.omit(layout, ['static', 'moved'])
167169
);
168170
saveVisualizationLayouts(panelId, visualizationParams);
171+
updateAvailabilityVizId(panelVisualizations);
169172
}
170173
}, [editActionType]);
171174

0 commit comments

Comments
 (0)