This is an automated email from the ASF dual-hosted git repository.
tiagobento pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git
The following commit(s) were added to refs/heads/main by this push:
new 454f0ae549c kie-issues#1264:`Management-console`: cannot reschedule
job from Process Details screen (#2369)
454f0ae549c is described below
commit 454f0ae549c15e92d323aa6a5a33d46292cc753a
Author: Pere Fernández <[email protected]>
AuthorDate: Fri May 24 17:55:10 2024 +0200
kie-issues#1264:`Management-console`: cannot reschedule job from Process
Details screen (#2369)
---
.../jobsManagement/api/JobsManagementChannelApi.ts | 4 +-
.../src/jobsManagement/api/JobsManagementDriver.ts | 4 +-
.../embedded/JobsManagementChannelApiImpl.ts | 4 +-
.../envelope/JobsManagementEnvelopeViewDriver.ts | 4 +-
.../JobsRescheduleModal/JobsRescheduleModal.tsx | 11 +++--
.../processDetails/api/ProcessDetailsChannelApi.ts | 4 +-
.../src/processDetails/api/ProcessDetailsDriver.ts | 4 +-
.../embedded/ProcessDetailsChannelApiImpl.ts | 4 +-
.../envelope/ProcessDetailsEnvelopeViewDriver.ts | 4 +-
.../components/JobActionsKebab/JobActionsKebab.tsx | 7 ++-
.../envelope/components/JobsPanel/JobsPanel.tsx | 54 ++++++++++------------
.../components/ProcessDetails/ProcessDetails.tsx | 18 ++++----
.../ProcessDetailsTimelinePanel.tsx | 7 ++-
.../src/processDetails/utils/Utils.tsx | 9 ++--
.../src/gatewayApi/apis.tsx | 54 ++++++++++------------
.../runtime-tools-process-gateway-api/src/types.ts | 2 +-
.../src/JobsManagement/JobsManagementGatewayApi.ts | 8 ++--
.../src/JobsManagement/JobsManagementQueries.ts | 6 +--
.../src/ProcessDetails/ProcessDetailsGatewayApi.ts | 6 +--
.../src/ProcessDetails/ProcessDetailsQueries.ts | 6 +--
.../JobsRescheduleModal/JobsRescheduleModal.tsx | 7 ++-
.../components/JobActionsKebab/JobActionsKebab.tsx | 5 +-
.../WorkflowDetailsTimelinePanel.tsx | 5 +-
23 files changed, 124 insertions(+), 113 deletions(-)
diff --git
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementChannelApi.ts
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementChannelApi.ts
index 8fe92551164..31f88fb7060 100644
---
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementChannelApi.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementChannelApi.ts
@@ -20,7 +20,7 @@ import {
Job,
JobStatus,
BulkCancel,
- JobCancel,
+ JobOperationResult,
JobsSortBy,
} from "@kie-tools/runtime-tools-process-gateway-api/dist/types";
@@ -28,7 +28,7 @@ export interface JobsManagementChannelApi {
jobList__initialLoad(filter: JobStatus[], orderBy: JobsSortBy):
Promise<void>;
jobList__applyFilter(filter: JobStatus[]): Promise<void>;
jobList__bulkCancel(jobsToBeActioned: Job[]): Promise<BulkCancel>;
- jobList_cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobCancel>;
+ jobList_cancelJob(job: Pick<Job, "id" | "endpoint">):
Promise<JobOperationResult>;
jobList_rescheduleJob(
job: Job,
repeatInterval: number | string,
diff --git
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementDriver.ts
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementDriver.ts
index 395e571af88..436066901bb 100644
---
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementDriver.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/api/JobsManagementDriver.ts
@@ -20,7 +20,7 @@ import {
Job,
JobStatus,
BulkCancel,
- JobCancel,
+ JobOperationResult,
JobsSortBy,
} from "@kie-tools/runtime-tools-process-gateway-api/dist/types";
@@ -28,7 +28,7 @@ export interface JobsManagementDriver {
initialLoad(filter: JobStatus[], orderBy: JobsSortBy): Promise<void>;
applyFilter(filter: JobStatus[]): Promise<void>;
bulkCancel(jobsToBeActioned: Job[]): Promise<BulkCancel>;
- cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobCancel>;
+ cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobOperationResult>;
rescheduleJob(
job: Job,
repeatInterval: number | string,
diff --git
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/embedded/JobsManagementChannelApiImpl.ts
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/embedded/JobsManagementChannelApiImpl.ts
index f1419999ebd..235ef6cc158 100644
---
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/embedded/JobsManagementChannelApiImpl.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/embedded/JobsManagementChannelApiImpl.ts
@@ -21,7 +21,7 @@ import {
Job,
JobStatus,
BulkCancel,
- JobCancel,
+ JobOperationResult,
JobsSortBy,
} from "@kie-tools/runtime-tools-process-gateway-api/dist/types";
@@ -40,7 +40,7 @@ export class JobsManagementChannelApiImpl implements
JobsManagementChannelApi {
return this.driver.bulkCancel(jobsToBeActioned);
}
- jobList_cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobCancel> {
+ jobList_cancelJob(job: Pick<Job, "id" | "endpoint">):
Promise<JobOperationResult> {
return this.driver.cancelJob(job);
}
diff --git
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/JobsManagementEnvelopeViewDriver.ts
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/JobsManagementEnvelopeViewDriver.ts
index 8f5feb17a67..0a906e5e4ea 100644
---
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/JobsManagementEnvelopeViewDriver.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/JobsManagementEnvelopeViewDriver.ts
@@ -21,7 +21,7 @@ import {
Job,
JobStatus,
BulkCancel,
- JobCancel,
+ JobOperationResult,
JobsSortBy,
} from "@kie-tools/runtime-tools-process-gateway-api/dist/types";
import { JobsManagementChannelApi, JobsManagementDriver } from "../api";
@@ -41,7 +41,7 @@ export default class JobsManagementEnvelopeViewDriver
implements JobsManagementD
return this.channelApi.requests.jobList__bulkCancel(jobsToBeActioned);
}
- cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobCancel> {
+ cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobOperationResult> {
return this.channelApi.requests.jobList_cancelJob(job);
}
diff --git
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
index bc0ff243b80..93160842e1f 100644
---
a/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
+++
b/packages/runtime-tools-process-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
@@ -38,7 +38,12 @@ interface IOwnProps {
job: Job;
rescheduleError: string;
setRescheduleError: (rescheduleError: string) => void;
- handleJobReschedule: any;
+ handleJobReschedule: (
+ job: Job,
+ repeatInterval: string | number,
+ repeatLimit: string | number,
+ scheduleDate: Date
+ ) => void;
}
export const JobsRescheduleModal: React.FC<IOwnProps & OUIAProps> = ({
@@ -74,8 +79,8 @@ export const JobsRescheduleModal: React.FC<IOwnProps &
OUIAProps> = ({
setScheduleDate(new Date());
};
- const onApplyReschedule = async (): Promise<void> => {
- await handleJobReschedule(job, repeatInterval, repeatLimit, scheduleDate);
+ const onApplyReschedule = (): void => {
+ handleJobReschedule(job, repeatInterval, repeatLimit, scheduleDate);
};
const applyAction: JSX.Element[] = [
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsChannelApi.ts
b/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsChannelApi.ts
index bb4609468e0..7e53f4b111b 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsChannelApi.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsChannelApi.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { Job, JobCancel, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
+import { Job, JobOperationResult, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
import {
NodeInstance,
SvgErrorResponse,
@@ -28,7 +28,7 @@ import {
export interface ProcessDetailsChannelApi {
processDetails__getProcessDiagram(data: ProcessInstance):
Promise<SvgSuccessResponse | SvgErrorResponse>;
processDetails__handleProcessAbort(processInstance: ProcessInstance):
Promise<void>;
- processDetails__cancelJob(job: Pick<Job, "id" | "endpoint">):
Promise<JobCancel>;
+ processDetails__cancelJob(job: Pick<Job, "id" | "endpoint">):
Promise<JobOperationResult>;
processDetails__rescheduleJob(
job,
repeatInterval: number | string,
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsDriver.ts
b/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsDriver.ts
index 458b2370010..9aea9e61868 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsDriver.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/api/ProcessDetailsDriver.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { Job, JobCancel, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
+import { Job, JobOperationResult, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
import {
NodeInstance,
SvgErrorResponse,
@@ -28,7 +28,7 @@ import {
export interface ProcessDetailsDriver {
getProcessDiagram(data: ProcessInstance): Promise<SvgSuccessResponse |
SvgErrorResponse>;
handleProcessAbort(processInstance: ProcessInstance): Promise<void>;
- cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobCancel>;
+ cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobOperationResult>;
rescheduleJob(
job,
repeatInterval: number | string,
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/embedded/ProcessDetailsChannelApiImpl.ts
b/packages/runtime-tools-process-enveloped-components/src/processDetails/embedded/ProcessDetailsChannelApiImpl.ts
index b522adb641c..d5eba2f90d3 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/embedded/ProcessDetailsChannelApiImpl.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/embedded/ProcessDetailsChannelApiImpl.ts
@@ -23,7 +23,7 @@ import {
TriggerableNode,
} from "@kie-tools/runtime-tools-shared-gateway-api/dist/types";
import { ProcessDetailsChannelApi, ProcessDetailsDriver } from "../api";
-import { Job, JobCancel, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
+import { Job, JobOperationResult, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
export class ProcessDetailsChannelApiImpl implements ProcessDetailsChannelApi {
constructor(private readonly driver: ProcessDetailsDriver) {}
@@ -36,7 +36,7 @@ export class ProcessDetailsChannelApiImpl implements
ProcessDetailsChannelApi {
return this.driver.handleProcessAbort(processInstance);
}
- processDetails__cancelJob(job: Pick<Job, "id" | "endpoint">):
Promise<JobCancel> {
+ processDetails__cancelJob(job: Pick<Job, "id" | "endpoint">):
Promise<JobOperationResult> {
return this.driver.cancelJob(job);
}
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/ProcessDetailsEnvelopeViewDriver.ts
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/ProcessDetailsEnvelopeViewDriver.ts
index c45f9f40128..5c088844388 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/ProcessDetailsEnvelopeViewDriver.ts
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/ProcessDetailsEnvelopeViewDriver.ts
@@ -24,7 +24,7 @@ import {
SvgSuccessResponse,
TriggerableNode,
} from "@kie-tools/runtime-tools-shared-gateway-api/dist/types";
-import { Job, JobCancel, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
+import { Job, JobOperationResult, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
export default class ProcessDetailsEnvelopeViewDriver implements
ProcessDetailsDriver {
constructor(private readonly channelApi:
MessageBusClientApi<ProcessDetailsChannelApi>) {}
@@ -37,7 +37,7 @@ export default class ProcessDetailsEnvelopeViewDriver
implements ProcessDetailsD
return
this.channelApi.requests.processDetails__handleProcessAbort(processInstance);
}
- cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobCancel> {
+ cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobOperationResult> {
return this.channelApi.requests.processDetails__cancelJob(job);
}
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
index 5aab47f0bf2..421896f690b 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
@@ -67,7 +67,12 @@ const JobActionsKebab: React.FC<IOwnProps & OUIAProps> = ({
job, driver, ouiaId,
setIsRescheduleModalOpen(!isRescheduleModalOpen);
};
- const handleJobReschedule = async (repeatInterval, repeatLimit,
scheduleDate): Promise<void> => {
+ const handleJobReschedule = async (
+ _job: Job,
+ repeatInterval: string | number,
+ repeatLimit: string | number,
+ scheduleDate: Date
+ ): Promise<void> => {
await handleJobRescheduleUtil(
repeatInterval,
repeatLimit,
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobsPanel/JobsPanel.tsx
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobsPanel/JobsPanel.tsx
index 9d07c3ef9ca..cb09adad0e4 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobsPanel/JobsPanel.tsx
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/JobsPanel/JobsPanel.tsx
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React, { useState, useEffect } from "react";
+import React, { useMemo } from "react";
import { Card, CardHeader, CardBody } from
"@patternfly/react-core/dist/js/components/Card";
import { Tooltip } from "@patternfly/react-core/dist/js/components/Tooltip";
import { Title } from "@patternfly/react-core/dist/js/components/Title";
@@ -41,27 +41,30 @@ interface JobsPanelProps {
}
const JobsPanel: React.FC<JobsPanelProps & OUIAProps> = ({ jobs, driver,
ouiaId, ouiaSafe }) => {
- const [rows, setRows] = useState<IRow[]>([]);
+ const columns: ICell[] = useMemo(() => {
+ return [
+ {
+ title: "Job id",
+ },
+ {
+ title: "Status",
+ },
+ {
+ title: "Expiration time",
+ },
+ {
+ title: "Actions",
+ },
+ ];
+ }, []);
- const columns: ICell[] = [
- {
- title: "Job id",
- },
- {
- title: "Status",
- },
- {
- title: "Expiration time",
- },
- {
- title: "Actions",
- },
- ];
+ const rows: IRow[] = useMemo(() => {
+ if (!jobs) {
+ return [];
+ }
- const createRows = (jobsArray: Job[]): IRow[] => {
- const jobRows: IRow[] = [];
- jobsArray.forEach((job) => {
- jobRows.push({
+ return jobs.map((job) => {
+ return {
cells: [
{
title: (
@@ -94,16 +97,9 @@ const JobsPanel: React.FC<JobsPanelProps & OUIAProps> = ({
jobs, driver, ouiaId,
title: <JobActionsKebab job={job} driver={driver} />,
},
],
- });
+ };
});
- return jobRows;
- };
-
- useEffect(() => {
- if (jobs.length > 0) {
- setRows(createRows(jobs));
- }
- }, [jobs]);
+ }, [driver, jobs]);
if (jobs.length > 0) {
return (
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetails/ProcessDetails.tsx
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetails/ProcessDetails.tsx
index 1a468d822c6..df83fd3b576 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetails/ProcessDetails.tsx
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetails/ProcessDetails.tsx
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React, { ReactElement, useEffect, useState } from "react";
+import React, { ReactElement, useCallback, useEffect, useState } from "react";
import { Flex, FlexItem } from "@patternfly/react-core/dist/js/layouts/Flex";
import { Grid, GridItem } from "@patternfly/react-core/dist/js/layouts/Grid";
import { Split, SplitItem } from
"@patternfly/react-core/dist/js/layouts/Split";
@@ -100,7 +100,7 @@ const ProcessDetails: React.FC<ProcessDetailsProps> = ({
try {
const processResponse: ProcessInstance = await
driver.processDetailsQuery(processDetails.id);
processResponse && setData(processResponse);
- getAllJobs();
+ loadJobs();
setIsLoading(false);
} catch (errorString) {
setError(errorString);
@@ -108,10 +108,10 @@ const ProcessDetails: React.FC<ProcessDetailsProps> = ({
}
};
- const getAllJobs = async (): Promise<void> => {
+ const loadJobs = useCallback(async () => {
const jobsResponse: Job[] = await driver.jobsQuery(processDetails.id);
jobsResponse && setJobs(jobsResponse);
- };
+ }, [processDetails.id, driver]);
const handleSvgErrorModal = (): void => {
setSvgErrorModalOpen(!svgErrorModalOpen);
@@ -145,13 +145,13 @@ const ProcessDetails: React.FC<ProcessDetailsProps> = ({
handleSvgApi();
getVariableJSON();
}
- }, [data]);
+ }, [driver, data, isEnvelopeConnectedToChannel, processDetails.id]);
useEffect(() => {
if (svgError && svgError.length > 0 && !showSwfDiagram) {
setSvgErrorModalOpen(true);
}
- }, [svgError]);
+ }, [svgError, showSwfDiagram]);
useEffect(() => {
if (variableError && variableError.length > 0) {
@@ -163,9 +163,9 @@ const ProcessDetails: React.FC<ProcessDetailsProps> = ({
/* istanbul ignore else*/
if (isEnvelopeConnectedToChannel) {
setData(processDetails);
- getAllJobs();
+ loadJobs();
}
- }, [isEnvelopeConnectedToChannel]);
+ }, [isEnvelopeConnectedToChannel, loadJobs, processDetails]);
/* istanbul ignore next */
const handleSave = (): void => {
@@ -204,7 +204,7 @@ const ProcessDetails: React.FC<ProcessDetailsProps> = ({
};
const handleRefresh = (): void => {
- if (displayLabel === true) {
+ if (displayLabel) {
setConfirmationModal(true);
} else {
handleReload();
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetailsTimelinePanel/ProcessDetailsTimelinePanel.tsx
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetailsTimelinePanel/ProcessDetailsTimelinePanel.tsx
index dd3f11b6ba3..e733ff3364e 100755
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetailsTimelinePanel/ProcessDetailsTimelinePanel.tsx
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/envelope/components/ProcessDetailsTimelinePanel/ProcessDetailsTimelinePanel.tsx
@@ -124,7 +124,12 @@ const ProcessDetailsTimelinePanel: React.FC<IOwnProps &
OUIAProps> = ({
setSelectedJob(job);
};
- const handleJobReschedule = async (repeatInterval, repeatLimit,
scheduleDate): Promise<void> => {
+ const handleJobReschedule = async (
+ _job: Job,
+ repeatInterval: string | number,
+ repeatLimit: string | number,
+ scheduleDate: Date
+ ): Promise<void> => {
await handleJobRescheduleUtil(
repeatInterval,
repeatLimit,
diff --git
a/packages/runtime-tools-process-enveloped-components/src/processDetails/utils/Utils.tsx
b/packages/runtime-tools-process-enveloped-components/src/processDetails/utils/Utils.tsx
index 582867afd95..39260ab6250 100644
---
a/packages/runtime-tools-process-enveloped-components/src/processDetails/utils/Utils.tsx
+++
b/packages/runtime-tools-process-enveloped-components/src/processDetails/utils/Utils.tsx
@@ -132,7 +132,7 @@ export const handleNodeInstanceCancel = (
export const jobCancel = async (
drive: ProcessDetailsDriver,
- job: Pick<Job, "id" | "endpoint">,
+ job: Job,
setModalTitle: (title: JSX.Element) => void,
setModalContent: (content: string) => void
) => {
@@ -142,9 +142,9 @@ export const jobCancel = async (
};
export const handleJobRescheduleUtil = async (
- repeatInterval,
- repeatLimit,
- scheduleDate,
+ repeatInterval: string | number,
+ repeatLimit: string | number,
+ scheduleDate: Date,
selectedJob: Job,
handleRescheduleAction: () => void,
driver: ProcessDetailsDriver,
@@ -154,7 +154,6 @@ export const handleJobRescheduleUtil = async (
if (response && response.modalTitle === "success") {
handleRescheduleAction();
} else if (response && response.modalTitle === "failure") {
- handleRescheduleAction();
setRescheduleError(response.modalContent);
}
};
diff --git a/packages/runtime-tools-process-gateway-api/src/gatewayApi/apis.tsx
b/packages/runtime-tools-process-gateway-api/src/gatewayApi/apis.tsx
index c0a5129f488..002e605d9b3 100644
--- a/packages/runtime-tools-process-gateway-api/src/gatewayApi/apis.tsx
+++ b/packages/runtime-tools-process-gateway-api/src/gatewayApi/apis.tsx
@@ -19,7 +19,7 @@
import { GraphQL } from "../graphql";
import {
- JobCancel,
+ JobOperationResult,
JobStatus,
Job,
JobsSortBy,
@@ -92,44 +92,38 @@ export const getChildProcessInstances = async (
//Rest Api to Cancel multiple Jobs
export const performMultipleCancel = async (
- jobsToBeActioned: (GraphQL.Job & { errorMessage?: string })[],
+ jobsToBeActioned: (Job & { errorMessage?: string })[],
client: ApolloClient<any>
): Promise<any> => {
- const multipleCancel: Promise<any>[] = [];
- for (const job of jobsToBeActioned) {
- multipleCancel.push(
- new Promise((resolve, reject) => {
- client
- .mutate({
- mutation: GraphQL.JobCancelDocument,
- variables: {
- jobId: job.id,
- },
- fetchPolicy: "no-cache",
- })
- .then((value) => {
- resolve({ successJob: job });
- })
- .catch((reason) => {
- job.errorMessage = JSON.stringify(reason.message);
- reject({ failedJob: job });
- });
- })
- );
- }
+ const multipleCancel: Promise<any>[] = jobsToBeActioned.map((job) => {
+ return new Promise((resolve, reject) => {
+ client
+ .mutate({
+ mutation: GraphQL.JobCancelDocument,
+ variables: {
+ jobId: job.id,
+ },
+ fetchPolicy: "no-cache",
+ })
+ .then((value) => {
+ resolve({ successJob: job });
+ })
+ .catch((reason) => {
+ job.errorMessage = JSON.stringify(reason.message);
+ reject({ failedJob: job });
+ });
+ });
+ });
return Promise.all(multipleCancel.map((mc) => mc.catch((error) =>
error))).then((result) => {
return Promise.resolve(result);
});
};
//Rest Api to Cancel a Job
-export const jobCancel = async (
- job: Pick<GraphQL.Job, "id" | "endpoint">,
- client: ApolloClient<any>
-): Promise<JobCancel> => {
+export const jobCancel = async (job: Job, client: ApolloClient<any>):
Promise<JobOperationResult> => {
let modalTitle: string;
let modalContent: string;
- return new Promise<JobCancel>((resolve, reject) => {
+ return new Promise<JobOperationResult>((resolve, reject) => {
client
.mutate({
mutation: GraphQL.JobCancelDocument,
@@ -174,7 +168,7 @@ export const handleJobReschedule = async (
};
}
- return new Promise<JobCancel>((resolve, reject) => {
+ return new Promise<JobOperationResult>((resolve, reject) => {
client
.mutate({
mutation: GraphQL.HandleJobRescheduleDocument,
diff --git a/packages/runtime-tools-process-gateway-api/src/types.ts
b/packages/runtime-tools-process-gateway-api/src/types.ts
index d88a47f6031..ec6c175bc55 100644
--- a/packages/runtime-tools-process-gateway-api/src/types.ts
+++ b/packages/runtime-tools-process-gateway-api/src/types.ts
@@ -58,7 +58,7 @@ export interface BulkCancel {
failedJobs: Job[];
}
-export interface JobCancel {
+export interface JobOperationResult {
modalTitle: string;
modalContent: string;
}
diff --git
a/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementGatewayApi.ts
b/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementGatewayApi.ts
index 98092589f75..f51b54c1b51 100644
---
a/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementGatewayApi.ts
+++
b/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementGatewayApi.ts
@@ -21,7 +21,7 @@ import {
Job,
JobStatus,
BulkCancel,
- JobCancel,
+ JobOperationResult,
JobsSortBy,
} from "@kie-tools/runtime-tools-process-gateway-api/dist/types";
import { JobsManagementQueries } from "./JobsManagementQueries";
@@ -31,7 +31,7 @@ export interface JobsManagementGatewayApi {
initialLoad: (filter: JobStatus[], orderBy: JobsSortBy) => Promise<void>;
applyFilter: (filter: JobStatus[]) => Promise<void>;
bulkCancel: (jobsToBeActioned: Job[]) => Promise<BulkCancel>;
- cancelJob: (job: Pick<Job, "id" | "endpoint">) => Promise<JobCancel>;
+ cancelJob: (job: Pick<Job, "id" | "endpoint">) =>
Promise<JobOperationResult>;
rescheduleJob: (
job: Job,
repeatInterval: number | string,
@@ -71,8 +71,8 @@ export class JobsManagementGatewayApiImpl implements
JobsManagementGatewayApi {
return Promise.resolve();
};
- cancelJob = async (job: Pick<Job, "id" | "endpoint">): Promise<JobCancel> =>
{
- const cancelResult: JobCancel = await this.queries.cancelJob(job);
+ cancelJob = async (job: Pick<Job, "id" | "endpoint">):
Promise<JobOperationResult> => {
+ const cancelResult: JobOperationResult = await this.queries.cancelJob(job);
return cancelResult;
};
diff --git
a/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementQueries.ts
b/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementQueries.ts
index a25a5e350d2..df7df42dad1 100644
---
a/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementQueries.ts
+++
b/packages/runtime-tools-process-webapp-components/src/JobsManagement/JobsManagementQueries.ts
@@ -21,7 +21,7 @@ import { ApolloClient } from "apollo-client";
import {
BulkCancel,
Job,
- JobCancel,
+ JobOperationResult,
JobStatus,
JobsSortBy,
} from "@kie-tools/runtime-tools-process-gateway-api/dist/types";
@@ -34,7 +34,7 @@ import {
export interface JobsManagementQueries {
getJobs(start: number, end: number, filters: JobStatus[], sortBy: JobsSortBy
| any): Promise<Job[]>;
- cancelJob: (job: Pick<Job, "id" | "endpoint">) => Promise<JobCancel>;
+ cancelJob: (job: Pick<Job, "id" | "endpoint">) =>
Promise<JobOperationResult>;
bulkCancel: (jobsToBeActioned: (Job & { errorMessage?: string })[]) =>
Promise<BulkCancel>;
rescheduleJob: (
job: Job,
@@ -55,7 +55,7 @@ export class GraphQLJobsManagementQueries implements
JobsManagementQueries {
return getJobsWithFilters(offset, limit, filters, orderBy, this.client);
}
- async cancelJob(job: Pick<Job, "id" | "endpoint">): Promise<JobCancel> {
+ async cancelJob(job: Job): Promise<JobOperationResult> {
return jobCancel(job, this.client);
}
diff --git
a/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsGatewayApi.ts
b/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsGatewayApi.ts
index da67f1e4cc7..e106d6bc9ef 100644
---
a/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsGatewayApi.ts
+++
b/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsGatewayApi.ts
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { Job, JobCancel, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
+import { Job, JobOperationResult, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
import { ProcessDetailsQueries } from "./ProcessDetailsQueries";
import {
SvgSuccessResponse,
@@ -41,7 +41,7 @@ export interface ProcessDetailsGatewayApi {
processDetailsState: any;
getProcessDiagram: (data: ProcessInstance) => Promise<SvgSuccessResponse |
SvgErrorResponse>;
handleProcessAbort: (processInstance: ProcessInstance) => Promise<void>;
- cancelJob: (job: Pick<Job, "id" | "endpoint">) => Promise<JobCancel>;
+ cancelJob: (job: Pick<Job, "id" | "endpoint">) =>
Promise<JobOperationResult>;
rescheduleJob: (
job: Job,
repeatInterval: number | string,
@@ -89,7 +89,7 @@ export class ProcessDetailsGatewayApiImpl implements
ProcessDetailsGatewayApi {
return this.queries.handleProcessAbort(processInstance);
};
- cancelJob = (job: Job): Promise<JobCancel> => {
+ cancelJob = (job: Job): Promise<JobOperationResult> => {
return this.queries.jobCancel(job);
};
diff --git
a/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsQueries.ts
b/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsQueries.ts
index 602435ad006..9571119a2f7 100755
---
a/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsQueries.ts
+++
b/packages/runtime-tools-process-webapp-components/src/ProcessDetails/ProcessDetailsQueries.ts
@@ -38,7 +38,7 @@ import {
getSVG,
getTriggerableNodes,
} from "@kie-tools/runtime-tools-process-gateway-api/dist/gatewayApi";
-import { Job, JobCancel, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
+import { Job, JobOperationResult, ProcessInstance } from
"@kie-tools/runtime-tools-process-gateway-api/dist/types";
export interface ProcessDetailsQueries {
getProcessDetails(id: string): Promise<ProcessInstance>;
@@ -47,7 +47,7 @@ export interface ProcessDetailsQueries {
handleProcessAbort(processInstance: ProcessInstance): Promise<void>;
handleProcessRetry(processInstance: ProcessInstance): Promise<void>;
getSVG(processInstance: ProcessInstance): Promise<any>;
- jobCancel(job: Job): Promise<JobCancel>;
+ jobCancel(job: Job): Promise<JobOperationResult>;
rescheduleJob: (
job: Job,
repeatInterval: number | string,
@@ -95,7 +95,7 @@ export class GraphQLProcessDetailsQueries implements
ProcessDetailsQueries {
return Promise.resolve(getSVG(processInstance, this.client));
}
- async jobCancel(job: Job): Promise<JobCancel> {
+ async jobCancel(job: Job): Promise<JobOperationResult> {
return jobCancel(job, this.client);
}
diff --git
a/packages/runtime-tools-swf-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
b/packages/runtime-tools-swf-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
index 7e7bf4b69c1..23e376f6fb8 100644
---
a/packages/runtime-tools-swf-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
+++
b/packages/runtime-tools-swf-enveloped-components/src/jobsManagement/envelope/components/JobsRescheduleModal/JobsRescheduleModal.tsx
@@ -38,7 +38,12 @@ interface IOwnProps {
job: Job;
rescheduleError: string;
setRescheduleError: (rescheduleError: string) => void;
- handleJobReschedule: any;
+ handleJobReschedule: (
+ job: Job,
+ repeatInterval: string | number,
+ repeatLimit: string | number,
+ scheduleDate: Date
+ ) => void;
}
export const JobsRescheduleModal: React.FC<IOwnProps & OUIAProps> = ({
diff --git
a/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
b/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
index 86da9206bdd..525c0fb3247 100644
---
a/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
+++
b/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/JobActionsKebab/JobActionsKebab.tsx
@@ -69,8 +69,9 @@ const JobActionsKebab: React.FC<IOwnProps & OUIAProps> = ({
job, driver, ouiaId,
};
const handleJobReschedule = async (
- repeatInterval: number | string,
- repeatLimit: number | string,
+ _job: Job,
+ repeatInterval: string | number,
+ repeatLimit: string | number,
scheduleDate: Date
): Promise<void> => {
await handleJobRescheduleUtil(
diff --git
a/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/WorkflowDetailsTimelinePanel/WorkflowDetailsTimelinePanel.tsx
b/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/WorkflowDetailsTimelinePanel/WorkflowDetailsTimelinePanel.tsx
index b09c0c822f8..405f3517761 100755
---
a/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/WorkflowDetailsTimelinePanel/WorkflowDetailsTimelinePanel.tsx
+++
b/packages/runtime-tools-swf-enveloped-components/src/workflowDetails/envelope/components/WorkflowDetailsTimelinePanel/WorkflowDetailsTimelinePanel.tsx
@@ -118,8 +118,9 @@ const WorkflowDetailsTimelinePanel: React.FC<IOwnProps &
OUIAProps> = ({ data, j
};
const handleJobReschedule = async (
- repeatInterval: number | string,
- repeatLimit: number | string,
+ _job: Job,
+ repeatInterval: string | number,
+ repeatLimit: string | number,
scheduleDate: Date
): Promise<void> => {
await handleJobRescheduleUtil(
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]