diff --git a/ui/src/app/applications/components/application-parameters/application-parameters.tsx b/ui/src/app/applications/components/application-parameters/application-parameters.tsx index 84cbcd3924dab..2e47f0714e254 100644 --- a/ui/src/app/applications/components/application-parameters/application-parameters.tsx +++ b/ui/src/app/applications/components/application-parameters/application-parameters.tsx @@ -23,7 +23,10 @@ function distinct(first: IterableIterator, second: IterableIterator) { return Array.from(new Set(Array.from(first).concat(Array.from(second)))); } -function overridesFirst(first: {overrideIndex: number}, second: {overrideIndex: number}) { +function overridesFirst(first: {overrideIndex: number; metadata: {name: string}}, second: {overrideIndex: number; metadata: {name: string}}) { + if (first.overrideIndex === second.overrideIndex) { + return first.metadata.name.localeCompare(second.metadata.name); + } if (first.overrideIndex < 0) { return 1; } else if (second.overrideIndex < 0) { @@ -57,7 +60,7 @@ function getParamsEditableItems( ), edit: (formApi: FormApi) => { - const labelStyle = {position: 'absolute', right: 0, top: 0, zIndex: 1} as any; + const labelStyle = {position: 'absolute', right: 0, top: 0, zIndex: 11} as any; const overrideRemoved = removedOverrides[i]; const fieldItemPath = `${fieldsPath}[${i}]`; return ( @@ -98,11 +101,6 @@ function getParamsEditableItems( ); } })) - .sort((first, second) => { - const firstSortBy = first.key || first.title; - const secondSortBy = second.key || second.title; - return firstSortBy.localeCompare(secondSortBy); - }) .map((item, i) => ({...item, before: (i === 0 &&

{title}

) || null})); } @@ -192,29 +190,31 @@ export const ApplicationParameters = (props: { /> ) }); - attributes.push({ - title: 'VALUES', - view: app.spec.source.helm && ( - -
{app.spec.source.helm.values}
-
- ), - edit: (formApi: FormApi) => ( -
-
-                        
-                    
- {props.details.helm.values && ( -
- - -
{props.details.helm.values}
-
-
- )} -
- ) - }); + if (app?.spec?.source?.helm?.values) { + attributes.push({ + title: 'VALUES', + view: app.spec.source.helm && ( + +
{app.spec.source.helm.values}
+
+ ), + edit: (formApi: FormApi) => ( +
+
+                            
+                        
+ {props.details.helm.values && ( +
+ + +
{props.details.helm.values}
+
+
+ )} +
+ ) + }); + } const paramsByName = new Map(); (props.details.helm.parameters || []).forEach(param => paramsByName.set(param.name, param)); const overridesByName = new Map();