diff --git a/client/src/app/pages/applications/applications-table/applications-table.tsx b/client/src/app/pages/applications/applications-table/applications-table.tsx
index d102d69a2a..e358b0c589 100644
--- a/client/src/app/pages/applications/applications-table/applications-table.tsx
+++ b/client/src/app/pages/applications/applications-table/applications-table.tsx
@@ -16,6 +16,7 @@ import {
DropdownItem,
Modal,
Tooltip,
+ OverflowMenu,
} from "@patternfly/react-core";
import {
PencilAltIcon,
@@ -955,89 +956,88 @@ export const ApplicationsTable: React.FC = () => {
{application?.effort ?? "-"}
)}
-
-
- {applicationWriteAccess && (
-
- }
- onClick={() =>
- setSaveApplicationModalState(application)
- }
- />
-
- )}
- |
-
- assessSelectedApp(application),
- },
- assessmentWriteAccess &&
- (application.assessments?.length ?? 0) > 0 && {
- title: t("actions.discardAssessment"),
- onClick: () =>
- setAssessmentToDiscard(application),
+
+
+ {applicationWriteAccess && (
+
+ }
+ onClick={() =>
+ setSaveApplicationModalState(application)
+ }
+ />
+
+ )}
+ assessSelectedApp(application),
},
- reviewsWriteAccess && {
- title: t("actions.review"),
- onClick: () => reviewSelectedApp(application),
- },
- reviewsWriteAccess &&
- application?.review && {
- title: t("actions.discardReview"),
- onClick: () => setReviewToDiscard(application),
+ assessmentWriteAccess &&
+ (application.assessments?.length ?? 0) > 0 && {
+ title: t("actions.discardAssessment"),
+ onClick: () =>
+ setAssessmentToDiscard(application),
+ },
+ reviewsWriteAccess && {
+ title: t("actions.review"),
+ onClick: () => reviewSelectedApp(application),
},
- dependenciesWriteAccess && {
- title: t("actions.manageDependencies"),
- onClick: () =>
- setApplicationDependenciesToManage(application),
- },
- credentialsReadAccess &&
- applicationWriteAccess && {
- title: t("actions.manageCredentials"),
+ reviewsWriteAccess &&
+ application?.review && {
+ title: t("actions.discardReview"),
+ onClick: () => setReviewToDiscard(application),
+ },
+ dependenciesWriteAccess && {
+ title: t("actions.manageDependencies"),
onClick: () =>
- setSaveApplicationsCredentialsModalState([
- application,
- ]),
+ setApplicationDependenciesToManage(application),
},
- analysesReadAccess &&
- !!application.tasks.currentAnalyzer && {
- title: t("actions.analysisDetails"),
- onClick: () => {
- const taskId =
- application.tasks.currentAnalyzer?.id;
- if (taskId && application.id) {
- history.push(
- formatPath(
- Paths.applicationsAnalysisDetails,
- {
- applicationId: application.id,
- taskId,
- }
- )
- );
- }
+ credentialsReadAccess &&
+ applicationWriteAccess && {
+ title: t("actions.manageCredentials"),
+ onClick: () =>
+ setSaveApplicationsCredentialsModalState([
+ application,
+ ]),
},
+ analysesReadAccess &&
+ !!application.tasks.currentAnalyzer && {
+ title: t("actions.analysisDetails"),
+ onClick: () => {
+ const taskId =
+ application.tasks.currentAnalyzer?.id;
+ if (taskId && application.id) {
+ history.push(
+ formatPath(
+ Paths.applicationsAnalysisDetails,
+ {
+ applicationId: application.id,
+ taskId,
+ }
+ )
+ );
+ }
+ },
+ },
+ tasksReadAccess &&
+ tasksWriteAccess &&
+ isTaskCancellable(application) && {
+ title: t("actions.cancelAnalysis"),
+ onClick: () => cancelAnalysis(application),
+ },
+ applicationWriteAccess && { isSeparator: true },
+ applicationWriteAccess && {
+ title: t("actions.delete"),
+ onClick: () =>
+ setApplicationsToDelete([application]),
+ isDanger: true,
},
- tasksReadAccess &&
- tasksWriteAccess &&
- isTaskCancellable(application) && {
- title: t("actions.cancelAnalysis"),
- onClick: () => cancelAnalysis(application),
- },
- applicationWriteAccess && { isSeparator: true },
- applicationWriteAccess && {
- title: t("actions.delete"),
- onClick: () =>
- setApplicationsToDelete([application]),
- isDanger: true,
- },
- ].filter(Boolean)}
- />
+ ].filter(Boolean)}
+ />
+
|
diff --git a/client/src/app/pages/controls/ControlTableActionButtons.tsx b/client/src/app/pages/controls/ControlTableActionButtons.tsx
index 8091dee882..d42d3cc024 100644
--- a/client/src/app/pages/controls/ControlTableActionButtons.tsx
+++ b/client/src/app/pages/controls/ControlTableActionButtons.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { useTranslation } from "react-i18next";
import { controlsWriteScopes, RBAC, RBAC_TYPE } from "@app/rbac";
import { ActionsColumn, Td } from "@patternfly/react-table";
-import { Button, Tooltip } from "@patternfly/react-core";
+import { Button, OverflowMenu, Tooltip } from "@patternfly/react-core";
import { PencilAltIcon } from "@patternfly/react-icons";
export interface ControlTableActionButtonsProps {
@@ -23,25 +23,25 @@ export const ControlTableActionButtons: React.FC<
const { t } = useTranslation();
return (
-
-
- } onClick={onEdit} />
-
- |
-
-
+
+
+ } onClick={onEdit} />
+
+
+ ]}
+ />
+
|
);
|