2025-05-13 22:15:04 +12:00
|
|
|
import { ReactNode } from 'react';
|
|
|
|
|
2025-04-10 16:08:24 +12:00
|
|
|
import { CodeEditor } from '@@/CodeEditor';
|
|
|
|
|
|
|
|
import { Values } from '../../types';
|
|
|
|
|
2025-05-13 22:15:04 +12:00
|
|
|
import { DiffViewMode } from './DiffControl';
|
|
|
|
import { DiffViewSection } from './DiffViewSection';
|
|
|
|
import { SelectedRevisionNumber, CompareRevisionNumberFetched } from './types';
|
|
|
|
|
2025-04-10 16:08:24 +12:00
|
|
|
interface Props {
|
|
|
|
values?: Values;
|
|
|
|
isUserSupplied: boolean;
|
2025-05-13 22:15:04 +12:00
|
|
|
selectedRevisionNumber: SelectedRevisionNumber;
|
|
|
|
diffViewMode: DiffViewMode;
|
|
|
|
compareValues?: Values;
|
|
|
|
compareRevisionNumberFetched?: CompareRevisionNumberFetched;
|
|
|
|
isCompareReleaseLoading: boolean;
|
|
|
|
isCompareReleaseError: boolean;
|
|
|
|
diffControl: ReactNode;
|
2025-04-10 16:08:24 +12:00
|
|
|
}
|
|
|
|
|
|
|
|
export function ValuesDetails({
|
|
|
|
values,
|
|
|
|
isUserSupplied,
|
2025-05-13 22:15:04 +12:00
|
|
|
selectedRevisionNumber,
|
|
|
|
diffViewMode,
|
|
|
|
compareValues,
|
|
|
|
compareRevisionNumberFetched,
|
|
|
|
isCompareReleaseLoading,
|
|
|
|
isCompareReleaseError,
|
|
|
|
diffControl,
|
2025-04-10 16:08:24 +12:00
|
|
|
}: Props) {
|
|
|
|
return (
|
2025-05-13 22:15:04 +12:00
|
|
|
<>
|
|
|
|
{diffControl}
|
|
|
|
{diffViewMode === 'view' ? (
|
|
|
|
<CodeEditor
|
|
|
|
type="yaml"
|
|
|
|
id="values-details-code-editor"
|
|
|
|
data-cy="values-details-code-editor"
|
|
|
|
value={
|
|
|
|
isUserSupplied
|
|
|
|
? values?.userSuppliedValues ?? ''
|
|
|
|
: values?.computedValues ?? ''
|
|
|
|
}
|
|
|
|
readonly
|
|
|
|
fileName={`Revision #${selectedRevisionNumber}`}
|
|
|
|
placeholder="No values found"
|
|
|
|
height="60vh"
|
|
|
|
/>
|
|
|
|
) : (
|
|
|
|
<DiffViewSection
|
|
|
|
isCompareReleaseLoading={isCompareReleaseLoading}
|
|
|
|
isCompareReleaseError={isCompareReleaseError}
|
|
|
|
compareRevisionNumberFetched={compareRevisionNumberFetched}
|
|
|
|
selectedRevisionNumber={selectedRevisionNumber}
|
|
|
|
newText={
|
|
|
|
isUserSupplied
|
|
|
|
? values?.userSuppliedValues ?? ''
|
|
|
|
: values?.computedValues ?? ''
|
|
|
|
}
|
|
|
|
originalText={
|
|
|
|
isUserSupplied
|
|
|
|
? compareValues?.userSuppliedValues ?? ''
|
|
|
|
: compareValues?.computedValues ?? ''
|
|
|
|
}
|
|
|
|
id="values-details-diff-viewer"
|
|
|
|
data-cy="values-details-diff-viewer"
|
2025-04-10 16:08:24 +12:00
|
|
|
/>
|
2025-05-13 22:15:04 +12:00
|
|
|
)}
|
|
|
|
</>
|
2025-04-10 16:08:24 +12:00
|
|
|
);
|
|
|
|
}
|