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]

Reply via email to