diff --git a/package-lock.json b/package-lock.json index 5061cdddc..7949e2738 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "0.5.4", + "version": "0.5.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "0.5.4", + "version": "0.5.5", "license": "ISC", "dependencies": { "@types/react-dates": "^21.8.6", diff --git a/package.json b/package.json index d49a4547f..7187cd005 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@devtron-labs/devtron-fe-common-lib", - "version": "0.5.4", + "version": "0.5.5", "description": "Supporting common component library", "type": "module", "main": "dist/index.js", diff --git a/src/Common/CodeEditor/CodeEditor.tsx b/src/Common/CodeEditor/CodeEditor.tsx index 417046283..90b3c62ff 100644 --- a/src/Common/CodeEditor/CodeEditor.tsx +++ b/src/Common/CodeEditor/CodeEditor.tsx @@ -348,7 +348,7 @@ const CodeEditor: React.FC & CodeEditorComposition = React. ) : ( <> - {shebang &&
{shebang}
} + {shebang &&
{shebang}
} {state.diffMode ? ( { @@ -167,7 +166,7 @@ export const DeploymentHistoryConfigDiff = ({ setFullScreenView={setFullScreenView} convertVariables={convertVariables} setConvertVariables={setConvertVariables} - runSource={runSource} + triggerHistory={triggerHistory} resourceId={resourceId} renderRunSource={renderRunSource} hideDiffState={hideDiffState} diff --git a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryConfigDiffCompare.tsx b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryConfigDiffCompare.tsx index 7d23c80fb..7cde7eda3 100644 --- a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryConfigDiffCompare.tsx +++ b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryConfigDiffCompare.tsx @@ -26,7 +26,7 @@ export const DeploymentHistoryConfigDiffCompare = ({ previousWfrId, convertVariables, setConvertVariables, - runSource, + triggerHistory, renderRunSource, resourceId, isCompareDeploymentConfigNotAvailable, @@ -60,7 +60,7 @@ export const DeploymentHistoryConfigDiffCompare = ({ const { currentDeployment, pipelineDeploymentsOptions } = getPipelineDeploymentsOptions({ pipelineDeployments, wfrId, - runSource, + triggerHistory, renderRunSource, resourceId, }) diff --git a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryDiffView.tsx b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryDiffView.tsx index e45d9950f..2a61026bc 100644 --- a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryDiffView.tsx +++ b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/DeploymentHistoryDiffView.tsx @@ -15,7 +15,7 @@ */ import { useParams } from 'react-router-dom' -import { Fragment, useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import Tippy from '@tippyjs/react' import { yamlComparatorBySortOrder } from '@Shared/Helpers' import { MODES, Toggle, YAMLStringify } from '../../../../Common' @@ -111,11 +111,11 @@ const DeploymentHistoryDiffView = ({ singleValue: DeploymentHistorySingleValue, dataTestId: string, ) => ( -
-
+
+
{singleValue.displayName}
-
{singleValue.value}
+
{singleValue.value}
) @@ -150,7 +150,7 @@ const DeploymentHistoryDiffView = ({ const changeBGColor = previousConfigAvailable && currentValue?.value !== baseValue?.value return ( // eslint-disable-next-line react/no-array-index-key - +
{!isUnpublished && currentValue?.value ? ( renderDetailedValue( !isDeleteDraft && changeBGColor ? 'code-editor-red-diff' : '', @@ -169,7 +169,7 @@ const DeploymentHistoryDiffView = ({ ) : (
)} - +
) }, )} diff --git a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/helpers.tsx b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/helpers.tsx index 140c8ecb8..ca5b08981 100644 --- a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/helpers.tsx +++ b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/helpers.tsx @@ -76,10 +76,10 @@ export const renderPipelineDeploymentOptionDescription = ({ renderRunSource, resourceId, runSource, -}: Pick & - Pick) => ( +}: Pick & + Pick) => (
-

+

{stage} {artifact && ( diff --git a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/types.ts b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/types.ts index 350ed7d50..55f4bcbed 100644 --- a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/types.ts +++ b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/types.ts @@ -3,7 +3,7 @@ import { Dispatch, SetStateAction } from 'react' import { DeploymentConfigDiffProps } from '@Shared/Components/DeploymentConfigDiff' import { EnvResourceType } from '@Shared/Services' -import { History, HistoryLogsProps, RunSourceType } from '../types' +import { History, HistoryLogsProps } from '../types' export interface DeploymentHistoryConfigDiffProps extends Required> { @@ -11,7 +11,6 @@ export interface DeploymentHistoryConfigDiffProps envName: string pipelineId: number wfrId: number - runSource: RunSourceType triggerHistory: Map setFullScreenView: (fullscreen: boolean) => void } @@ -23,7 +22,7 @@ export type DeploymentHistoryDiffDetailedProps = Pick< Required< Pick< DeploymentHistoryConfigDiffProps, - 'setFullScreenView' | 'wfrId' | 'envName' | 'renderRunSource' | 'resourceId' | 'runSource' + 'setFullScreenView' | 'wfrId' | 'envName' | 'renderRunSource' | 'resourceId' | 'triggerHistory' > > & { pipelineDeployments: History[] diff --git a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/utils.ts b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/utils.ts index 21a41d472..f3cc47d20 100644 --- a/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/utils.ts +++ b/src/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/utils.ts @@ -31,8 +31,8 @@ export const getPipelineDeploymentsOptions = ({ wfrId, renderRunSource, resourceId, - runSource, -}: Required> & { + triggerHistory, +}: Required> & { pipelineDeployments: History[] wfrId: number }) => { @@ -50,7 +50,7 @@ export const getPipelineDeploymentsOptions = ({ artifact, renderRunSource, resourceId, - runSource, + runSource: triggerHistory.get(id).runSource, }), startIcon: renderPipelineDeploymentStatusIcon(status), }), diff --git a/src/Shared/Components/CICDHistory/TriggerOutput.tsx b/src/Shared/Components/CICDHistory/TriggerOutput.tsx index 400c588ee..1113074dc 100644 --- a/src/Shared/Components/CICDHistory/TriggerOutput.tsx +++ b/src/Shared/Components/CICDHistory/TriggerOutput.tsx @@ -601,7 +601,6 @@ const HistoryLogs: React.FC = ({ setFullScreenView={setFullScreenView} resourceId={resourceId} renderRunSource={renderRunSource} - runSource={triggerDetails.runSource} /> )} diff --git a/src/Shared/Components/CICDHistory/cicdHistory.scss b/src/Shared/Components/CICDHistory/cicdHistory.scss index b552804ca..7df3367f4 100644 --- a/src/Shared/Components/CICDHistory/cicdHistory.scss +++ b/src/Shared/Components/CICDHistory/cicdHistory.scss @@ -114,8 +114,7 @@ .deployment-diff__upper { display: grid; - grid-template-columns: 50% 50%; - grid-template-rows: auto; + grid-template-columns: repeat(2, 1fr); position: relative; &::after { diff --git a/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.component.tsx b/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.component.tsx index 223354dbb..b12795bde 100644 --- a/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.component.tsx +++ b/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.component.tsx @@ -19,7 +19,9 @@ export const DeploymentConfigDiff = ({ renderedInDrawer, ...resProps }: DeploymentConfigDiffProps) => ( -

+
= (IsManifestView e ? { currentList: ManifestTemplateDTO compareList: ManifestTemplateDTO + compareToTemplateOptions?: never + compareWithTemplateOptions?: never } : { currentList: AppEnvDeploymentConfigDTO compareList: AppEnvDeploymentConfigDTO + compareToTemplateOptions?: TemplateListDTO[] + compareWithTemplateOptions?: TemplateListDTO[] }) & { getNavItemHref: (resourceType: EnvResourceType, resourceName: string) => string isManifestView?: IsManifestView diff --git a/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.utils.tsx b/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.utils.tsx index dfe81af04..9329419b3 100644 --- a/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.utils.tsx +++ b/src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.utils.tsx @@ -40,6 +40,22 @@ export const getDeploymentTemplateData = (data: DeploymentTemplateDTO) => { ) } +const getDeploymentTemplateAppMetricsAndTemplateVersion = ( + data: DeploymentTemplateDTO, + templateOptions: TemplateListDTO[], +) => { + const parsedDraftData = JSON.parse(data?.deploymentDraftData?.configData[0].draftMetadata.data || null) + const draftTemplateVersion = templateOptions?.find( + ({ chartRefId }) => parsedDraftData?.chartRefId === chartRefId, + )?.chartVersion + + return { + isAppMetricsEnabled: + parsedDraftData || data ? parsedDraftData?.isAppMetricsEnabled || data?.isAppMetricsEnabled || false : null, + templateVersion: draftTemplateVersion || data?.templateVersion, + } +} + /** * Retrieves the draft data from the given configuration data object. * @@ -338,7 +354,7 @@ const getDiffViewData = ( } } -const getDeploymentTemplateDiffViewData = (data: DeploymentTemplateDTO | null) => { +const getDeploymentTemplateDiffViewData = (data: DeploymentTemplateDTO | null, templateOptions: TemplateListDTO[]) => { const _data = getDeploymentTemplateData(data) const codeEditorValue = { displayName: 'data', @@ -347,8 +363,7 @@ const getDeploymentTemplateDiffViewData = (data: DeploymentTemplateDTO | null) = const diffViewData = prepareHistoryData( { - ...(data || {}), - isAppMetricsEnabled: data ? data.isAppMetricsEnabled || false : null, + ...getDeploymentTemplateAppMetricsAndTemplateVersion(data, templateOptions), codeEditorValue, }, DEPLOYMENT_HISTORY_CONFIGURATION_LIST_MAP.DEPLOYMENT_TEMPLATE.VALUE, @@ -516,12 +531,39 @@ const getConfigMapSecretData = ( return deploymentConfig } -const getDeploymentTemplateResolvedData = (deploymentTemplate: DeploymentTemplateDTO) => { +const getDeploymentTemplateResolvedData = (deploymentTemplate: DeploymentTemplateDTO): DeploymentTemplateDTO => { try { if (deploymentTemplate.deploymentDraftData) { - return JSON.parse(deploymentTemplate.deploymentDraftData.configData[0].draftMetadata.draftResolvedValue) + const parsedDraftResolvedData = JSON.parse( + deploymentTemplate.deploymentDraftData.configData[0].draftMetadata.draftResolvedValue, + ) + + return { + ...deploymentTemplate, + deploymentDraftData: { + ...deploymentTemplate.deploymentDraftData, + configData: [ + { + ...deploymentTemplate.deploymentDraftData.configData[0], + draftMetadata: { + ...deploymentTemplate.deploymentDraftData.configData[0].draftMetadata, + data: JSON.stringify({ + ...JSON.parse( + deploymentTemplate.deploymentDraftData.configData[0].draftMetadata.data, + ), + envOverrideValues: parsedDraftResolvedData, + }), + }, + }, + ], + }, + } + } + + return { + ...deploymentTemplate, + data: deploymentTemplate.resolvedValue, } - return deploymentTemplate.resolvedValue } catch { return null } @@ -545,19 +587,9 @@ const getConfigDataWithResolvedDeploymentTemplate = ( return data } - const deploymentTemplateResolvedData = getDeploymentTemplateResolvedData(data.deploymentTemplate) - return { ...data, - deploymentTemplate: { - ...data.deploymentTemplate, - ...(deploymentTemplateResolvedData - ? { - data: deploymentTemplateResolvedData, - deploymentDraftData: null, - } - : {}), - }, + deploymentTemplate: getDeploymentTemplateResolvedData(data.deploymentTemplate), } } @@ -579,6 +611,8 @@ export const getAppEnvDeploymentConfigList = ): { configList: DeploymentConfigDiffProps['configList'] navList: DeploymentConfigDiffProps['navList'] @@ -593,8 +627,14 @@ export const getAppEnvDeploymentConfigList = ['compareList'], convertVariables, ) - const currentDeploymentData = getDeploymentTemplateDiffViewData(compareToObject.deploymentTemplate) - const compareDeploymentData = getDeploymentTemplateDiffViewData(compareWithObject.deploymentTemplate) + const currentDeploymentData = getDeploymentTemplateDiffViewData( + compareToObject.deploymentTemplate, + compareToTemplateOptions, + ) + const compareDeploymentData = getDeploymentTemplateDiffViewData( + compareWithObject.deploymentTemplate, + compareWithTemplateOptions, + ) const deploymentTemplateData = { id: EnvResourceType.DeploymentTemplate,