grafana/public/app/features/library-panels/components/DeleteLibraryPanelModal/actions.ts
Hugo Häggmark 376ed8a381
LibraryPanels: Prevents deletion of connected library panels (#32277)
* LibraryPanels: Prevents deletion of connected library panels

* Refactor: adds the delete library panel modal

* Chore: updates after PR comments
2021-03-24 11:43:27 +01:00

18 lines
726 B
TypeScript

import { DispatchResult, LibraryPanelDTO } from '../../types';
import { getLibraryPanelConnectedDashboards } from '../../state/api';
import { getBackendSrv } from '../../../../core/services/backend_srv';
import { searchCompleted } from './reducer';
export function getConnectedDashboards(libraryPanel: LibraryPanelDTO): DispatchResult {
return async function (dispatch) {
const connectedDashboards = await getLibraryPanelConnectedDashboards(libraryPanel.uid);
if (!connectedDashboards.length) {
dispatch(searchCompleted({ dashboards: [] }));
return;
}
const dashboards = await getBackendSrv().search({ dashboardIds: connectedDashboards });
dispatch(searchCompleted({ dashboards }));
};
}