Skip to content

Commit

Permalink
add same logic to details cards in table
Browse files Browse the repository at this point in the history
  • Loading branch information
fakefeik committed Mar 5, 2024
1 parent d373ff7 commit 616f0a7
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ public class RtqMonitoringTaskMeta
[JsonConverter(typeof(StringEnumConverter))]
public TaskState State { get; set; }

[CanBeNull]
[JsonProperty("taskActions")]
public TaskActions TaskActions { get; set; }

[JsonProperty("attempts")]
public int Attempts { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,5 @@ public class RtqMonitoringTaskModel
[NotNull, ItemNotNull]
[JsonProperty("exceptionInfos")]
public string[] ExceptionInfos { get; set; }

[CanBeNull]
[JsonProperty("taskActions")]
public TaskActions TaskActions { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,16 @@ export function TaskDetailsPage({
return null;
}

const isCancelable =
taskDetails.taskActions == null
? allowRerunOrCancel && cancelableStates.includes(taskDetails.taskMeta.state)
: taskDetails.taskActions.canCancel;
const canCancel = taskDetails.taskMeta.taskActions
? taskDetails.taskMeta.taskActions.canCancel
: allowRerunOrCancel && cancelableStates.includes(taskDetails.taskMeta.state);

const isRerunable =
taskDetails.taskActions == null
? allowRerunOrCancel && rerunableStates.includes(taskDetails.taskMeta.state)
: taskDetails.taskActions.canRerun;
const canRerun = taskDetails.taskMeta.taskActions
? taskDetails.taskMeta.taskActions.canRerun
: allowRerunOrCancel && rerunableStates.includes(taskDetails.taskMeta.state);

const relatedTasksRequest = customDetailRenderer.getRelatedTasksLocation(taskDetails);
if (!isCancelable && !isRerunable && relatedTasksRequest == null) {
if (!canCancel && !canRerun && relatedTasksRequest == null) {
return null;
}

Expand All @@ -86,14 +84,14 @@ export function TaskDetailsPage({
</RouterLink>
</Fit>
)}
{isCancelable && (
{canCancel && (
<Fit>
<Link icon={<XIcon16Regular />} use="danger" data-tid="CancelButton" onClick={cancel}>
Cancel task
</Link>
</Fit>
)}
{isRerunable && (
{canRerun && (
<Fit>
<Button
use="link"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ export function TaskDetails(props: TaskDetailsProps): JSX.Element {
const theme = React.useContext(ThemeContext);
const { customStateCaptions } = useCustomSettings();

const canCancel = taskInfo.taskActions ? taskInfo.taskActions.canCancel : cancelableStates.includes(taskInfo.state);
const canRerun = taskInfo.taskActions ? taskInfo.taskActions.canRerun : rerunableStates.includes(taskInfo.state);

const renderTaskDate = (
taskInfo: RtqMonitoringTaskMeta,
caption: string,
Expand Down Expand Up @@ -93,7 +96,7 @@ export function TaskDetails(props: TaskDetailsProps): JSX.Element {
<Fit>
<Link
data-tid="Cancel"
disabled={!cancelableStates.includes(taskInfo.state)}
disabled={!canCancel}
onClick={onCancel}
icon={<XIcon16Regular />}>
Cancel
Expand All @@ -102,7 +105,7 @@ export function TaskDetails(props: TaskDetailsProps): JSX.Element {
<Fit>
<Link
data-tid="Rerun"
disabled={!rerunableStates.includes(taskInfo.state)}
disabled={!canRerun}
onClick={onRerun}
icon={<ArrowRoundTimeForwardIcon16Regular />}>
Rerun
Expand Down

0 comments on commit 616f0a7

Please sign in to comment.