diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListDeleteReport.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListDeleteReport.tsx
new file mode 100644
index 000000000..ca04d516c
--- /dev/null
+++ b/spiffworkflow-frontend/src/components/ProcessInstanceListDeleteReport.tsx
@@ -0,0 +1,29 @@
+import { ProcessInstanceReport } from '../interfaces';
+import HttpService from '../services/HttpService';
+import ButtonWithConfirmation from './ButtonWithConfirmation';
+
+type OwnProps = {
+ onSuccess: (..._args: any[]) => any;
+ processInstanceReportSelection: ProcessInstanceReport;
+};
+
+export default function ProcessInstanceListDeleteReport({
+ onSuccess,
+ processInstanceReportSelection,
+}: OwnProps) {
+ const deleteProcessInstanceReport = () => {
+ HttpService.makeCallToBackend({
+ path: `/process-instances/reports/${processInstanceReportSelection.id}`,
+ successCallback: onSuccess,
+ httpMethod: 'DELETE',
+ });
+ };
+
+ return (
+
+ );
+}
diff --git a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx
index 553524f46..3d8c15479 100644
--- a/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx
+++ b/spiffworkflow-frontend/src/components/ProcessInstanceListTable.tsx
@@ -63,6 +63,7 @@ import {
} from '../interfaces';
import ProcessModelSearch from './ProcessModelSearch';
import ProcessInstanceReportSearch from './ProcessInstanceReportSearch';
+import ProcessInstanceListDeleteReport from './ProcessInstanceListDeleteReport';
import ProcessInstanceListSaveAsReport from './ProcessInstanceListSaveAsReport';
import { FormatProcessModelDisplayName } from './MiniComponents';
import { Notification } from './Notification';
@@ -681,6 +682,19 @@ export default function ProcessInstanceListTable({
);
};
+ const onDeleteReportSuccess = () => {
+ processInstanceReportDidChange({ selectedItem: null });
+ };
+
+ const deleteReportComponent = () => {
+ return processInstanceReportSelection ? (
+
+ ) : null;
+ };
+
const removeColumn = (reportColumn: ReportColumn) => {
if (reportMetadata) {
const reportMetadataCopy = { ...reportMetadata };
@@ -1062,6 +1076,7 @@ export default function ProcessInstanceListTable({
{saveAsReportComponent()}
+ {deleteReportComponent()}
>
diff --git a/spiffworkflow-frontend/src/routes/ProcessInstanceReportList.tsx b/spiffworkflow-frontend/src/routes/ProcessInstanceReportList.tsx
index 906fb3142..b753d3074 100644
--- a/spiffworkflow-frontend/src/routes/ProcessInstanceReportList.tsx
+++ b/spiffworkflow-frontend/src/routes/ProcessInstanceReportList.tsx
@@ -31,9 +31,7 @@ export default function ProcessInstanceReportList() {
return (
-
+
{rowToUse.identifier}
|