Skip to content

Commit c78232b

Browse files
Merge pull request #336 from devtron-labs/feat/cm-secret-merge-strategy
feat: Revamp ConfigMap Secret UI - Various Improvements
2 parents 5671de1 + ae9f8d3 commit c78232b

File tree

21 files changed

+352
-152
lines changed

21 files changed

+352
-152
lines changed

src/Assets/Icon/ic-warning-y5.svg

Lines changed: 20 additions & 0 deletions
Loading

src/Common/CodeEditor/CodeEditor.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import ReactGA from 'react-ga4'
2121
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'
2222
import { configureMonacoYaml } from 'monaco-yaml'
2323

24+
import { ReactComponent as ICWarningY5 } from '@Icons/ic-warning-y5.svg'
2425
import { ReactComponent as Info } from '../../Assets/Icon/ic-info-filled.svg'
2526
import { ReactComponent as ErrorIcon } from '../../Assets/Icon/ic-error-exclamation.svg'
26-
import { ReactComponent as WarningIcon } from '../../Assets/Icon/ic-warning.svg'
2727
import './codeEditor.scss'
2828
import 'monaco-editor'
2929

@@ -459,7 +459,7 @@ const ValidationError = () => {
459459

460460
const Warning: React.FC<InformationBarProps> = (props) => (
461461
<div className={`code-editor__warning ${props.className || ''}`}>
462-
<WarningIcon className="code-editor__information-info-icon" />
462+
<ICWarningY5 className="code-editor__information-info-icon" />
463463
{props.text}
464464
{props.children}
465465
</div>
@@ -483,7 +483,7 @@ const Information: React.FC<InformationBarProps> = (props) => (
483483

484484
const Clipboard = () => {
485485
const { state } = useCodeEditorContext()
486-
return <ClipboardButton content={state.code} rootClassName="bcn-1" iconSize={20} />
486+
return <ClipboardButton content={state.code} iconSize={16} />
487487
}
488488

489489
const SplitPane = ({}) => {

src/Common/CodeEditor/codeEditor.scss

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -105,18 +105,6 @@
105105
min-height: 300px;
106106
}
107107

108-
.code-editor__warning {
109-
font-size: 12px;
110-
font-weight: 400;
111-
line-height: 1.33;
112-
letter-spacing: normal;
113-
color: var(--Y700);
114-
height: auto;
115-
padding: 8px 16px;
116-
border-bottom: 1px solid #d6dbdf;
117-
background-color: var(--Y100);
118-
}
119-
120108
.code-editor__information {
121109
font-size: 12px;
122110
font-weight: 400;

src/Pages/Applications/DevtronApps/Details/AppConfigurations/DeploymentTemplate/DTApplicationMetricsFormField.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ const DTApplicationMetricsFormField = ({
2626
return (
2727
<div className="flexbox dc__align-items-center dc__gap-8 fs-13 fw-4 lh-20 cn-9">
2828
<ICInfoFilledOverride className="icon-dim-16 dc__no-shrink" />
29-
<div className="flexbox">
30-
<span>Application metrics are</span>&nbsp;
29+
<div className="flexbox dc__gap-6">
30+
<span>Application metrics are</span>
3131
<span className="fw-6">{isAppMetricsEnabled ? 'Enabled' : 'Not enabled'}</span>
3232
</div>
3333
</div>
@@ -48,7 +48,7 @@ const DTApplicationMetricsFormField = ({
4848
<InvalidYAMLTippyWrapper parsingError={parsingError} restoreLastSavedYAML={restoreLastSavedYAML}>
4949
<div>
5050
<Checkbox
51-
rootClassName={`mb-0 dc__align-start ${!selectedChart.isAppMetricsSupported ? 'dc__disabled' : ''}`}
51+
rootClassName={`mb-0 dc__align-items-center ${!selectedChart.isAppMetricsSupported ? 'dc__disabled' : ''}`}
5252
isChecked={isAppMetricsEnabled}
5353
value={CHECKBOX_VALUE.CHECKED}
5454
onChange={toggleAppMetrics}
@@ -64,14 +64,14 @@ const DTApplicationMetricsFormField = ({
6464
</div>
6565
</InvalidYAMLTippyWrapper>
6666

67-
<div className={`flexbox ${selectedChart.isAppMetricsSupported ? 'pl-8' : ''}`}>
67+
<div className="flexbox dc__gap-6 pl-6 dc__align-items-center">
6868
{!selectedChart.isAppMetricsSupported && (
6969
<Tooltip
7070
alwaysShowTippyOnHover
7171
content={`Application metrics is not supported for ${selectedChart.name} version ${selectedChart.version}.`}
7272
>
7373
<span className="cr-5 fs-13 fw-4 lh-20 dc__border-bottom-dashed--n3 dc__no-shrink">
74-
&nbsp;Not supported &nbsp;
74+
Not supported
7575
</span>
7676
</Tooltip>
7777
)}

src/Pages/Applications/DevtronApps/Details/AppConfigurations/DeploymentTemplate/service.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
ResolvedDeploymentTemplateDTO,
1313
ValuesAndManifestFlagDTO,
1414
} from './types'
15+
import { GET_RESOLVED_DEPLOYMENT_TEMPLATE_EMPTY_RESPONSE } from './constants'
1516

1617
export const getDeploymentManifest = async (
1718
params: GetDeploymentManifestProps,
@@ -34,14 +35,17 @@ export const getDeploymentManifest = async (
3435

3536
export const getResolvedDeploymentTemplate = async (
3637
params: GetResolvedDeploymentTemplateProps,
38+
signal?: AbortSignal,
3739
): Promise<GetResolvedDeploymentTemplateReturnType> => {
3840
try {
3941
const payload: GetResolvedDeploymentTemplatePayloadType = {
4042
...params,
4143
valuesAndManifestFlag: ValuesAndManifestFlagDTO.DEPLOYMENT_TEMPLATE,
4244
}
4345

44-
const { result } = await post<ResolvedDeploymentTemplateDTO>(ROUTES.APP_TEMPLATE_DATA, payload)
46+
const { result } = await post<ResolvedDeploymentTemplateDTO>(ROUTES.APP_TEMPLATE_DATA, payload, {
47+
signal,
48+
})
4549
const areVariablesPresent = Object.keys(result.variableSnapshot || {}).length > 0
4650

4751
const parsedData = YAML.parse(result.data)
@@ -53,7 +57,10 @@ export const getResolvedDeploymentTemplate = async (
5357
areVariablesPresent,
5458
}
5559
} catch (error) {
56-
showError(error)
57-
throw error
60+
if (!getIsRequestAborted(error)) {
61+
showError(error)
62+
throw error
63+
}
64+
return GET_RESOLVED_DEPLOYMENT_TEMPLATE_EMPTY_RESPONSE
5865
}
5966
}

src/Pages/Applications/DevtronApps/Details/AppConfigurations/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export interface ConfigToolbarPopupMenuConfigType {
2323
dataTestId: string
2424
disabled?: boolean
2525
icon?: ReactNode | null
26+
variant?: 'default' | 'negative'
2627
}
2728

2829
export enum ConfigToolbarPopupNodeType {

src/Shared/Components/CICDHistory/DeploymentHistoryDiff/DeploymentHistoryDiffView.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ const DeploymentHistoryDiffView = ({
3535
isDeleteDraft,
3636
rootClassName,
3737
comparisonBodyClassName,
38-
sortOrder = null,
38+
sortingConfig,
3939
}: DeploymentTemplateHistoryType) => {
4040
const { historyComponent, historyComponentName } = useParams<DeploymentHistoryParamsType>()
41+
const { sortBy, sortOrder } = sortingConfig ?? { sortBy: '', sortOrder: null }
4142

4243
const [convertVariables, setConvertVariables] = useState(false)
4344

@@ -66,7 +67,7 @@ const DeploymentHistoryDiffView = ({
6667
: baseTemplateConfiguration?.codeEditorValue?.value
6768

6869
return YAMLStringify(JSON.parse(editorValue), {
69-
sortMapEntries: (a, b) => yamlComparatorBySortOrder(a, b, sortOrder),
70+
sortMapEntries: sortBy ? (a, b) => yamlComparatorBySortOrder(a, b, sortOrder) : null,
7071
})
7172
}, [convertVariables, baseTemplateConfiguration, sortOrder, isDeleteDraft])
7273

@@ -86,6 +87,8 @@ const DeploymentHistoryDiffView = ({
8687

8788
const renderDeploymentDiffViaCodeEditor = () => (
8889
<CodeEditor
90+
// TODO: Add key from prop
91+
key={`${sortBy}-${sortOrder}`}
8992
value={editorValuesRHS}
9093
defaultValue={editorValuesLHS}
9194
adjustEditorHeightToContent

src/Shared/Components/CICDHistory/types.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,10 @@ export interface DeploymentTemplateHistoryType {
490490
isDeleteDraft?: boolean
491491
rootClassName?: string
492492
comparisonBodyClassName?: string
493-
sortOrder?: SortingOrder
493+
sortingConfig?: {
494+
sortBy: string
495+
sortOrder: SortingOrder
496+
}
494497
}
495498
export interface DeploymentHistoryDetailRes extends ResponseType {
496499
result?: DeploymentHistoryDetail

src/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiffMain.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ export const DeploymentConfigDiffMain = ({
161161
previousConfigAvailable
162162
rootClassName="m-0 dc__no-top-radius dc__no-top-border"
163163
comparisonBodyClassName="deployment-config-diff__main-content__comparison"
164-
sortOrder={sortingConfig?.sortOrder}
164+
sortingConfig={sortingConfig}
165165
/>
166166
</div>
167167
)}

src/Shared/Components/InfoIconTippy/InfoIconTippy.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const InfoIconTippy = ({
2626
documentationLink,
2727
documentationLinkText,
2828
additionalContent,
29-
iconClassName = 'icon-dim-16',
29+
iconClassName = 'icon-dim-16 dc__no-shrink',
3030
placement = 'bottom',
3131
dataTestid = 'info-tippy-button',
3232
children,
@@ -49,7 +49,7 @@ const InfoIconTippy = ({
4949
{children || (
5050
<button
5151
type="button"
52-
className="p-0 dc__no-background dc__no-border dc__outline-none-imp flex dc__tab-focus"
52+
className="p-0 dc__no-background dc__no-border dc__outline-none-imp flex dc__tab-focus dc__no-shrink"
5353
aria-label="Info Icon"
5454
data-testid={dataTestid}
5555
>

0 commit comments

Comments
 (0)