Skip to content

Commit a1b5e1b

Browse files
committed
close drawer on pkg install success, and disable install button while pkgs are installing
1 parent a40827b commit a1b5e1b

File tree

1 file changed

+28
-19
lines changed

1 file changed

+28
-19
lines changed

packages/common/src/components/CondaPkgDrawer.tsx

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -123,25 +123,34 @@ export const CondaPkgDrawer: React.FunctionComponent<ICondaPkgDrawerProps> = (
123123
return;
124124
}
125125

126-
if (selectedPackages.length > 0) {
127-
setIsApplyingChanges(true);
128-
await applyPackageChanges(
129-
props.pkgModel,
130-
selectedPackages,
131-
props.envName
132-
);
133-
134-
// Reset version_selected for all selected packages
135-
selectedPackages.forEach(pkg => {
136-
pkg.version_selected = 'none';
137-
});
126+
setIsApplyingChanges(true);
127+
128+
try {
129+
if (selectedPackages.length > 0) {
130+
await applyPackageChanges(
131+
props.pkgModel,
132+
selectedPackages,
133+
props.envName
134+
);
135+
136+
// Reset version_selected for all selected packages
137+
selectedPackages.forEach(pkg => {
138+
pkg.version_selected = 'none';
139+
});
140+
141+
setSelectedPackages([]);
142+
setIsApplyingChanges(false);
143+
144+
if (props.onPackagesInstalled) {
145+
props.onPackagesInstalled();
146+
}
147+
}
138148

139-
setSelectedPackages([]);
149+
props.onClose();
150+
} catch (error) {
151+
console.error('Failed to install packages: ', error);
152+
} finally {
140153
setIsApplyingChanges(false);
141-
142-
if (props.onPackagesInstalled) {
143-
props.onPackagesInstalled();
144-
}
145154
}
146155
};
147156

@@ -278,9 +287,9 @@ export const CondaPkgDrawer: React.FunctionComponent<ICondaPkgDrawerProps> = (
278287
<button
279288
className={Style.InstallButton}
280289
onClick={handleInstall}
281-
disabled={selectedPackages.length === 0}
290+
disabled={selectedPackages.length === 0 || isApplyingChanges}
282291
>
283-
Install Selected
292+
{isApplyingChanges ? 'Installing...' : 'Install Selected'}
284293
</button>
285294
</div>
286295
</div>

0 commit comments

Comments
 (0)