Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Task table #1957

Merged
merged 3 commits into from
Jun 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions client/public/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@
"createTags": "Create tags",
"cancelAnalysis": "Cancel analysis",
"delete": "Delete",
"disablePreemption": "Disable preemption",
"discardAssessment": "Discard assessment(s)",
"discardReview": "Discard review",
"downloadCsvTemplate": "Download CSV template",
"download": "Download {{what}}",
"duplicate": "Duplicate",
"edit": "Edit",
"enablePreemption": "Enable preemption",
"export": "Export",
"filterBy": "Filter by {{what}}",
"import": "Import",
Expand Down Expand Up @@ -224,7 +226,11 @@
"noAnswers": "Are you sure you want to close the assessment? There are no answers to save.",
"unlinkTicket": "Unlink from Jira",
"noTagsAvailable": "No tags available",
"noAssociatedTags": "This tag category has no associated tags."
"noAssociatedTags": "This tag category has no associated tags.",
"updateFailed": "Update failed.",
"updateRequestSubmitted": "Update request submitted.",
"cancelationFailed": "Cancelation failed.",
"cancelationRequestSubmitted": "Cancelation request submitted"
},
"proposedActions": {
"refactor": "Refactor",
Expand All @@ -249,7 +255,8 @@
"reports": "Reports",
"migrationWaves": "Migration waves",
"issues": "Issues",
"dependencies": "Dependencies"
"dependencies": "Dependencies",
"tasks": "Task Manager"
},
"terms": {
"accepted": "Accepted",
Expand Down Expand Up @@ -367,6 +374,7 @@
"jobFunction": "Job function",
"jobFunctionDeleted": "Job function deleted",
"jobFunctions": "Job functions",
"kind": "Kind",
"language": "Language",
"label": "Label",
"loading": "Loading",
Expand All @@ -391,6 +399,8 @@
"notYetReviewed": "Not yet reviewed",
"other": "Other",
"owner": "Owner",
"pod": "Pod",
"preemption": "Preemption",
"priority": "Priority",
"proposedAction": "Proposed action",
"proxyConfig": "Proxy configuration",
Expand Down Expand Up @@ -434,6 +444,7 @@
"stakeholderGroups": "Stakeholder groups",
"stakeholders": "Stakeholders",
"startDate": "Start date",
"started": "Started",
"status": "Status",
"suggestedAdoptionPlan": "Suggested adoption plan",
"svnConfig": "Subversion configuration",
Expand All @@ -452,6 +463,7 @@
"tagCategoryDeleted": "Tag category deleted",
"tagCategories": "Tag categories",
"teamMember": "team member",
"terminated": "Terminated",
"ticket": "Ticket",
"trivialButMigratable": "Trivial but migratable",
"type": "Type",
Expand All @@ -468,7 +480,9 @@
"YAMLTemplate": "YAML template"
},
"titles": {
"archetypeDrawer": "Archetype details"
"archetypeDrawer": "Archetype details",
"taskManager": "Task Manager",
"task": "Task"
},
"toastr": {
"success": {
Expand Down
1 change: 1 addition & 0 deletions client/src/app/Constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -244,4 +244,5 @@ export enum TablePersistenceKeyPrefix {
issuesRemainingIncidents = "ii",
dependencyApplications = "da",
archetypes = "ar",
tasks = "t",
}
1 change: 1 addition & 0 deletions client/src/app/Paths.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ export const DevPaths = {
issuesSingleAppSelected: "/issues/single-app/:applicationId",

dependencies: "/dependencies",
tasks: "/tasks",
} as const;

export type DevPathValues = (typeof DevPaths)[keyof typeof DevPaths];
Expand Down
8 changes: 8 additions & 0 deletions client/src/app/Routes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ const AssessmentSummary = lazy(
"./pages/assessment/components/assessment-summary/assessment-summary-page"
)
);

const TaskManager = lazy(() => import("./pages/tasks/tasks-page"));

export interface IRoute<T> {
path: T;
comp: React.ComponentType<any>;
Expand Down Expand Up @@ -189,6 +192,11 @@ export const devRoutes: IRoute<DevPathValues>[] = [
comp: Archetypes,
exact: false,
},
{
path: Paths.tasks,
comp: TaskManager,
exact: false,
},
];

export const adminRoutes: IRoute<AdminPathValues>[] = [
Expand Down
3 changes: 2 additions & 1 deletion client/src/app/api/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -301,12 +301,13 @@ export type TaskState =
| "Failed"
| "Running"
| "No task"
| "QuotaBlocked"
| "Ready"
| "Pending"
| "Postponed";

export interface Task {
id?: number;
id: number;
createUser?: string;
updateUser?: string;
createTime?: string;
Expand Down
3 changes: 3 additions & 0 deletions client/src/app/api/rest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,9 @@ export const getTaskQueue = (addon?: string): Promise<TaskQueue> =>
.get<TaskQueue>(`${TASKS}/report/queue`, { params: { addon } })
.then(({ data }) => data);

export const updateTask = (task: Partial<Task> & { id: number }) =>
axios.patch<Task>(`${TASKS}/${task.id}`, task);

rszwajko marked this conversation as resolved.
Show resolved Hide resolved
export const createTaskgroup = (obj: Taskgroup) =>
axios.post<Taskgroup>(TASKGROUPS, obj).then((response) => response.data);

Expand Down
1 change: 1 addition & 0 deletions client/src/app/components/Icons/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export * from "./OptionalTooltip";
export * from "./IconedStatus";
export * from "./IconWithLabel";
export * from "./taskStateToIcon";
39 changes: 39 additions & 0 deletions client/src/app/components/Icons/taskStateToIcon.tsx
rszwajko marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { TaskState } from "@app/api/models";
import React from "react";
import { Icon } from "@patternfly/react-core";
import CheckCircleIcon from "@patternfly/react-icons/dist/esm/icons/check-circle-icon";
import TimesCircleIcon from "@patternfly/react-icons/dist/esm/icons/times-circle-icon";
import InProgressIcon from "@patternfly/react-icons/dist/esm/icons/in-progress-icon";
import ExclamationCircleIcon from "@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon";
import UnknownIcon from "@patternfly/react-icons/dist/esm/icons/unknown-icon";

export const taskStateToIcon = (state?: TaskState) => {
switch (state) {
case "not supported":
case "No task":
return <UnknownIcon />;
case "Canceled":
return <TimesCircleIcon />;
case "Succeeded":
return (
<Icon status={"success"}>
<CheckCircleIcon />
</Icon>
);
case "Failed":
return (
<Icon status={"danger"}>
<ExclamationCircleIcon />
</Icon>
);
case "Pending":
return <InProgressIcon />;
case "Created":
case "QuotaBlocked":
case "Running":
case "Ready":
case "Postponed":
rszwajko marked this conversation as resolved.
Show resolved Hide resolved
default:
return <></>;
}
};
5 changes: 5 additions & 0 deletions client/src/app/layout/SidebarApp/SidebarApp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,11 @@ export const MigrationSidebar = () => {
</NavItem>
</>
) : null}
<NavItem>
<NavLink to={DevPaths.tasks} activeClassName="pf-m-current">
{t("sidebar.tasks")}
</NavLink>
</NavItem>
</NavList>
</PersonaSidebar>
);
Expand Down
Loading
Loading