diff --git a/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx b/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx index 1513c5e1eab3a..1304a973351f9 100644 --- a/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx +++ b/ui/src/app/applications/components/application-sync-panel/application-sync-panel.tsx @@ -22,6 +22,7 @@ export const ApplicationSyncPanel = ({application, selectedResource, hide}: {app const syncStrategy = {} as models.SyncStrategy; const [isPending, setPending] = React.useState(false); const source = getAppDefaultSource(application); + return ( {ctx => ( @@ -57,8 +58,11 @@ export const ApplicationSyncPanel = ({application, selectedResource, hide}: {app onSubmit={async (params: any) => { setPending(true); let resources = appResources.filter((_, i) => params.resources[i]); + const syncFlags = {...params.syncFlags} as SyncFlags; - if (syncFlags.Prune && resources.length === appResources.length) { + const prune = syncFlags.Prune || false; + + if (prune && resources.length === appResources.length) { const confirmed = await ctx.popup.confirm('Synchronize with prune?', () => (
@@ -70,6 +74,7 @@ export const ApplicationSyncPanel = ({application, selectedResource, hide}: {app return; } } + if (resources.length === appResources.length) { resources = null; } @@ -85,6 +90,7 @@ export const ApplicationSyncPanel = ({application, selectedResource, hide}: {app return; } } + const force = syncFlags.Force || false; if (syncFlags.ApplyOnly) {