ljmotta commented on code in PR #3042:
URL:
https://github.com/apache/incubator-kie-tools/pull/3042#discussion_r2093570712
##########
packages/runtime-tools-process-dev-ui-webapp/src/components/pages/ProcessesPage/ProcessesPage.tsx:
##########
@@ -16,75 +16,79 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React, { useState } from "react";
+import React, { ReactText, useEffect, useState } from "react";
import { Card } from "@patternfly/react-core/dist/js/components/Card";
import { PageSection } from "@patternfly/react-core/dist/js/components/Page";
import { Tab, Tabs, TabTitleText } from
"@patternfly/react-core/dist/js/components/Tabs";
-import { RouteComponentProps } from "react-router-dom";
-import { StaticContext } from "react-router";
-import * as H from "history";
+import { useLocation } from "react-router-dom";
import ProcessListContainer from
"../../containers/ProcessListContainer/ProcessListContainer";
import "../../styles.css";
+import ProcessDefinitionListContainer from
"../../containers/ProcessDefinitionListContainer/ProcessDefinitionListContainer";
import { useDevUIAppContext } from "../../contexts/DevUIAppContext";
-import { PageSectionHeader } from
"@kie-tools/runtime-tools-components/dist/components/PageSectionHeader";
-import ProcessDefinitionsListContainer from
"../../containers/ProcessDefinitionListContainer/ProcessDefinitionListContainer";
+import {
+ OUIAProps,
+ componentOuiaProps,
+ ouiaPageTypeAndObjectId,
+} from "@kie-tools/runtime-tools-components/dist/ouiaTools";
import { ProcessListState } from
"@kie-tools/runtime-tools-process-enveloped-components/dist/processList";
+import { PageSectionHeader } from
"@kie-tools/runtime-tools-components/dist/components/PageSectionHeader";
-interface MatchProps {
- instanceID: string;
-}
-
-const ProcessesPage: React.FC<RouteComponentProps<MatchProps, StaticContext,
H.LocationState>> = ({ ...props }) => {
+const ProcessesPage: React.FC<OUIAProps> = ({ ouiaId, ouiaSafe }) => {
const apiContext = useDevUIAppContext();
- const [activeTabKey, setActiveTabKey] = useState<number>(0);
+ const [activeTabKey, setActiveTabKey] = useState<ReactText>(0);
+ useEffect(() => {
+ return ouiaPageTypeAndObjectId("process-instances");
+ });
Review Comment:
Review the entire file.
##########
packages/runtime-tools-management-console-webapp/src/managementConsole/ManagementConsoleRoutes.tsx:
##########
@@ -33,110 +33,78 @@ import { ProcessDefinitionFormPage } from
"../process/form/ProcessDefinitionForm
export const ManagementConsoleRoutes: FC = () => {
const routes = useRoutes();
- const history = useHistory();
+ const navigate = useNavigate();
const onAddAuthSession = useCallback(
(authSession: AuthSession) => {
- history.push({
+ navigate({
pathname: routes.runtime.processes.path({
runtimeUrl: encodeURIComponent(authSession.runtimeUrl),
}),
search: isOpenIdConnectAuthSession(authSession) ?
`?user=${authSession.username}` : "",
});
},
- [history, routes.runtime.processes]
+ [navigate, routes.runtime.processes]
);
return (
<>
- <Switch>
- <Route exact path={routes.login.path({})}>
- <NewAuthSessionLoginSuccessPage onAddAuthSession={onAddAuthSession}
/>
+ <Routes>
+ <Route element={<RuntimeRoutesContext />}>
+ <Route
+ path={routes.login.path({})}
+ element={<NewAuthSessionLoginSuccessPage
onAddAuthSession={onAddAuthSession} />}
+ />
+ <Route path={routes.runtime.processes.path({ runtimeUrl:
":runtimeUrl" })} element={<ProcessListPage />} />
+ <Route
+ path={routes.runtime.processDetails.path({
+ runtimeUrl: ":runtimeUrl",
+ processInstanceId: ":processInstanceId",
+ })}
+ element={<ProcessDetailsPage />}
+ />
+ <Route path={routes.runtime.jobs.path({ runtimeUrl: ":runtimeUrl"
})} element={<JobsPage />} />
+ <Route path={routes.runtime.tasks.path({ runtimeUrl: ":runtimeUrl"
})} element={<TasksPage />} />
+ <Route
+ path={routes.runtime.processDefinitions.path({
+ runtimeUrl: ":runtimeUrl",
+ })}
+ >
Review Comment:
Missing `element={<TaskDetailsPage />}`
##########
packages/runtime-tools-process-dev-ui-webapp/src/components/pages/ProcessesPage/ProcessesPage.tsx:
##########
@@ -16,75 +16,79 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React, { useState } from "react";
+import React, { ReactText, useEffect, useState } from "react";
import { Card } from "@patternfly/react-core/dist/js/components/Card";
import { PageSection } from "@patternfly/react-core/dist/js/components/Page";
import { Tab, Tabs, TabTitleText } from
"@patternfly/react-core/dist/js/components/Tabs";
-import { RouteComponentProps } from "react-router-dom";
-import { StaticContext } from "react-router";
-import * as H from "history";
+import { useLocation } from "react-router-dom";
import ProcessListContainer from
"../../containers/ProcessListContainer/ProcessListContainer";
import "../../styles.css";
+import ProcessDefinitionListContainer from
"../../containers/ProcessDefinitionListContainer/ProcessDefinitionListContainer";
import { useDevUIAppContext } from "../../contexts/DevUIAppContext";
-import { PageSectionHeader } from
"@kie-tools/runtime-tools-components/dist/components/PageSectionHeader";
-import ProcessDefinitionsListContainer from
"../../containers/ProcessDefinitionListContainer/ProcessDefinitionListContainer";
+import {
+ OUIAProps,
+ componentOuiaProps,
+ ouiaPageTypeAndObjectId,
+} from "@kie-tools/runtime-tools-components/dist/ouiaTools";
import { ProcessListState } from
"@kie-tools/runtime-tools-process-enveloped-components/dist/processList";
+import { PageSectionHeader } from
"@kie-tools/runtime-tools-components/dist/components/PageSectionHeader";
-interface MatchProps {
- instanceID: string;
-}
-
-const ProcessesPage: React.FC<RouteComponentProps<MatchProps, StaticContext,
H.LocationState>> = ({ ...props }) => {
+const ProcessesPage: React.FC<OUIAProps> = ({ ouiaId, ouiaSafe }) => {
const apiContext = useDevUIAppContext();
- const [activeTabKey, setActiveTabKey] = useState<number>(0);
+ const [activeTabKey, setActiveTabKey] = useState<ReactText>(0);
+ useEffect(() => {
+ return ouiaPageTypeAndObjectId("process-instances");
+ });
Review Comment:
You're adding back some changes.
##########
packages/dev-deployment-dmn-form-webapp/src/DmnDevDeploymentFormWebAppDataApi.tsx:
##########
@@ -46,11 +52,14 @@ export async function fetchAppData(args: {
quarkusAppOrigin: string; quarkusAppP
// Beyond that, we want to delete these paths from the openApiSpec to avoid
trying to
// dereferencing them.
Object.keys(openApiSpec.paths).forEach((modelPath) => {
+ // Remove any route that doesn't have a respective `/dmnresult` route.
if (
!modelPath.endsWith("/dmnresult") &&
+ !dmnResultPaths.has(`${modelPath}/dmnresult`) &&
!Object.keys(openApiSpec.paths).find((path) => path ===
`${modelPath}/dmnresult`)
) {
delete openApiSpec.paths?.[modelPath];
+ delete openApiSpec.paths[modelPath];
Review Comment:
logic was duplicated.
##########
packages/runtime-tools-management-console-webapp/src/managementConsole/ManagementConsoleRoutes.tsx:
##########
@@ -33,110 +33,78 @@ import { ProcessDefinitionFormPage } from
"../process/form/ProcessDefinitionForm
export const ManagementConsoleRoutes: FC = () => {
const routes = useRoutes();
- const history = useHistory();
+ const navigate = useNavigate();
const onAddAuthSession = useCallback(
(authSession: AuthSession) => {
- history.push({
+ navigate({
pathname: routes.runtime.processes.path({
runtimeUrl: encodeURIComponent(authSession.runtimeUrl),
}),
search: isOpenIdConnectAuthSession(authSession) ?
`?user=${authSession.username}` : "",
});
},
- [history, routes.runtime.processes]
+ [navigate, routes.runtime.processes]
);
return (
<>
- <Switch>
- <Route exact path={routes.login.path({})}>
- <NewAuthSessionLoginSuccessPage onAddAuthSession={onAddAuthSession}
/>
+ <Routes>
+ <Route element={<RuntimeRoutesContext />}>
+ <Route
+ path={routes.login.path({})}
+ element={<NewAuthSessionLoginSuccessPage
onAddAuthSession={onAddAuthSession} />}
+ />
+ <Route path={routes.runtime.processes.path({ runtimeUrl:
":runtimeUrl" })} element={<ProcessListPage />} />
+ <Route
+ path={routes.runtime.processDetails.path({
+ runtimeUrl: ":runtimeUrl",
+ processInstanceId: ":processInstanceId",
+ })}
+ element={<ProcessDetailsPage />}
+ />
+ <Route path={routes.runtime.jobs.path({ runtimeUrl: ":runtimeUrl"
})} element={<JobsPage />} />
+ <Route path={routes.runtime.tasks.path({ runtimeUrl: ":runtimeUrl"
})} element={<TasksPage />} />
+ <Route
+ path={routes.runtime.processDefinitions.path({
+ runtimeUrl: ":runtimeUrl",
+ })}
+ >
+ <ProcessDefinitionsListPage />
+ </Route>
+ <Route
+ path={routes.runtime.processDefinitionForm.path({
+ runtimeUrl: ":runtimeUrl",
+ processName: ":processName",
+ })}
+ >
+ {({ match }) => {
+ return <ProcessDefinitionFormPage
processName={match?.params.processName} />;
+ }}
+ </Route>
Review Comment:
You need to migrate this one to v6. This is a new route. Remove the
function, and move the `match?.params` to insde the
`<ProcessDefinitionFormPage>`. You can access the `params` with `useParams`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]