diff --git a/package.json b/package.json index 41d7764f46..e2ba583af8 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.20.6-pre-1", + "@devtron-labs/devtron-fe-common-lib": "1.20.6-alpha-2", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/src/components/ResourceBrowser/ResourceList/ResourceBrowserActionMenu.tsx b/src/components/ResourceBrowser/ResourceList/ResourceBrowserActionMenu.tsx index e6979e7d5b..66e1812d39 100644 --- a/src/components/ResourceBrowser/ResourceList/ResourceBrowserActionMenu.tsx +++ b/src/components/ResourceBrowser/ResourceList/ResourceBrowserActionMenu.tsx @@ -35,6 +35,10 @@ import { } from '@devtron-labs/devtron-fe-common-lib' import { ReactComponent as MenuDots } from '@Icons/ic-more-vertical.svg' +import { + getManifestResource, + updateManifestResourceHelmApps, +} from '@Components/v2/appDetails/k8Resource/nodeDetail/nodeDetail.api' import { getShowResourceScanModal, importComponentFromFELibrary } from '../../common' import { NodeType } from '../../v2/appDetails/appDetails.type' @@ -58,6 +62,8 @@ const getResourceScanDetails: ({ 'function', ) +const RBRestartWorkloadModal = importComponentFromFELibrary('RBRestartWorkloadModal', null, 'function') + const ResourceBrowserActionMenu = forwardRef( ( { @@ -75,18 +81,20 @@ const ResourceBrowserActionMenu = forwardRef( const { installedModuleMap } = useMainContext() const [showDeleteDialog, setShowDeleteDialog] = useState(false) + const [showRestartModal, setShowRestartModal] = useState(false) const [showVulnerabilityModal, setShowVulnerabilityModal] = useState(false) + const resource = { + name: String(resourceData.name), + namespace: String(resourceData.namespace), + group: selectedResource?.gvk?.Group, + kind: selectedResource?.gvk?.Kind, + version: selectedResource?.gvk?.Version, + clusterId: +clusterId, + } + const [resourceScanLoading, resourceScanResponse, resourceScanError] = useAsync( - () => - getResourceScanDetails({ - name: String(resourceData.name), - namespace: String(resourceData.namespace), - group: selectedResource?.gvk?.Group, - kind: selectedResource?.gvk?.Kind, - version: selectedResource?.gvk?.Version, - clusterId: +clusterId, - }), + () => getResourceScanDetails(resource), [], showVulnerabilityModal && !!getResourceScanDetails, ) @@ -125,6 +133,9 @@ const ResourceBrowserActionMenu = forwardRef( }, }) return + case ResourceBrowserActionMenuEnum.restart: + setShowRestartModal(true) + return case ResourceBrowserActionMenuEnum.delete: toggleDeleteDialog() return @@ -139,6 +150,10 @@ const ResourceBrowserActionMenu = forwardRef( const id = JSON.stringify(resourceData) + const onRestartWorkloadModalClose = () => { + setShowRestartModal(false) + } + return ( <> @@ -158,6 +173,18 @@ const ResourceBrowserActionMenu = forwardRef( label: 'Events', startIcon: { name: 'ic-calendar' }, }, + ...(RBRestartWorkloadModal && + window._env_.FEATURE_BULK_RESTART_WORKLOADS_FROM_RB.includes( + selectedResource?.gvk?.Kind.toLowerCase(), + ) + ? [ + { + id: ResourceBrowserActionMenuEnum.restart, + label: 'Restart', + startIcon: { name: 'ic-arrows-clockwise' }, + } as ActionMenuItemType, + ] + : []), ...(selectedResource?.gvk?.Kind === Nodes.Pod ? [ { @@ -227,6 +254,15 @@ const ResourceBrowserActionMenu = forwardRef( hidePolicy /> )} + + {RBRestartWorkloadModal && showRestartModal && ( + + )} ) }, diff --git a/src/components/app/details/appDetails/AppStatusCard.tsx b/src/components/app/details/appDetails/AppStatusCard.tsx index 95468831e4..afae9f81ef 100644 --- a/src/components/app/details/appDetails/AppStatusCard.tsx +++ b/src/components/app/details/appDetails/AppStatusCard.tsx @@ -80,7 +80,7 @@ const AppStatusCard = ({ appDetails, status, cardLoading, setDetailed, message }
diff --git a/src/components/app/details/appDetails/DeployedCommitCard.tsx b/src/components/app/details/appDetails/DeployedCommitCard.tsx index d535258cfe..0429e99c65 100644 --- a/src/components/app/details/appDetails/DeployedCommitCard.tsx +++ b/src/components/app/details/appDetails/DeployedCommitCard.tsx @@ -54,7 +54,7 @@ const DeployedCommitCard = ({ cardLoading, showCommitInfoDrawer, envId, ciArtifa
diff --git a/src/components/app/details/appDetails/DeploymentStatusCard.tsx b/src/components/app/details/appDetails/DeploymentStatusCard.tsx index 0a08365087..3090fbc42d 100644 --- a/src/components/app/details/appDetails/DeploymentStatusCard.tsx +++ b/src/components/app/details/appDetails/DeploymentStatusCard.tsx @@ -119,7 +119,7 @@ const DeploymentStatusCard = ({
{renderDeploymentStatus()}
diff --git a/src/components/app/details/appDetails/IssuesCard.tsx b/src/components/app/details/appDetails/IssuesCard.tsx index 93c2c99c2a..5768597c5a 100644 --- a/src/components/app/details/appDetails/IssuesCard.tsx +++ b/src/components/app/details/appDetails/IssuesCard.tsx @@ -208,7 +208,7 @@ const IssuesCard = ({ cardLoading, setErrorsList, toggleIssuesModal, setDetailed
diff --git a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx index 3c2b3686d4..90877fd13e 100644 --- a/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx +++ b/src/components/app/details/appDetails/SecurityVulnerabilityCard.tsx @@ -158,7 +158,7 @@ export const SecurityVulnerabilityCard = ({
{isResourceBrowserView && !hideDeleteButton && ( // hide delete button if resource is deleted or user is not authorized @@ -670,6 +697,14 @@ const NodeDetailComponent = ({ handleClearBulkSelection={noop} /> )} + {RBRestartWorkloadModal && showRestartModal && ( + + )} ) } diff --git a/src/components/v2/appDetails/sourceInfo/environmentStatus/HelmAppConfigApplyStatusCard.tsx b/src/components/v2/appDetails/sourceInfo/environmentStatus/HelmAppConfigApplyStatusCard.tsx index 3e4a65d2cc..2035590a0c 100644 --- a/src/components/v2/appDetails/sourceInfo/environmentStatus/HelmAppConfigApplyStatusCard.tsx +++ b/src/components/v2/appDetails/sourceInfo/environmentStatus/HelmAppConfigApplyStatusCard.tsx @@ -30,7 +30,7 @@ const HelmAppConfigApplyStatusCard = ({ releaseStatus, cardLoading }: HelmAppCon return releaseStatus ? (
diff --git a/yarn.lock b/yarn.lock index c223901998..2d343cc51e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1722,9 +1722,9 @@ __metadata: languageName: node linkType: hard -"@devtron-labs/devtron-fe-common-lib@npm:1.20.6-pre-1": - version: 1.20.6-pre-1 - resolution: "@devtron-labs/devtron-fe-common-lib@npm:1.20.6-pre-1" +"@devtron-labs/devtron-fe-common-lib@npm:1.20.6-alpha-2": + version: 1.20.6-alpha-2 + resolution: "@devtron-labs/devtron-fe-common-lib@npm:1.20.6-alpha-2" dependencies: "@codemirror/autocomplete": "npm:6.18.6" "@codemirror/lang-json": "npm:6.0.1" @@ -1774,7 +1774,7 @@ __metadata: react-select: 5.8.0 rxjs: ^7.8.1 yaml: ^2.4.1 - checksum: 10c0/2a135d08736f6de5b0bc16f9798c36db481e1805c66fe83215ecd3a1acd86650e69d55daf10a9959b97b36b7b099d1f48a2eb1384ef97a7415506c1a3584005a + checksum: 10c0/bfa741e805f9d24181be01ec4e21e7cd7315a52bde669796cfd0c543910033aa10687cdba85831f7c8bf4e8a6feabb81c3d42448805234b308f964118ee41a1f languageName: node linkType: hard @@ -5721,7 +5721,7 @@ __metadata: version: 0.0.0-use.local resolution: "dashboard@workspace:." dependencies: - "@devtron-labs/devtron-fe-common-lib": "npm:1.20.6-pre-1" + "@devtron-labs/devtron-fe-common-lib": "npm:1.20.6-alpha-2" "@esbuild-plugins/node-globals-polyfill": "npm:0.2.3" "@playwright/test": "npm:^1.32.1" "@rjsf/core": "npm:^5.13.3"