Wizard: Edit to keep the last removed package among the selected ones
Modify the logic of removing a package so that it remains in the selected table for possible re-addition until another package is removed or the wizard is switched to another screen
This commit is contained in:
parent
b91981c17c
commit
7aa3a3a6d5
1 changed files with 13 additions and 0 deletions
|
|
@ -138,6 +138,9 @@ const Packages = () => {
|
|||
origin: ContentOrigin.EXTERNAL,
|
||||
});
|
||||
|
||||
const [currentlyRemovedPackages, setCurrentlyRemovedPackages] = useState<
|
||||
IBPackageWithRepositoryInfo[]
|
||||
>([]);
|
||||
const [isRepoModalOpen, setIsRepoModalOpen] = useState(false);
|
||||
const [isSelectingPackage, setIsSelectingPackage] = useState<
|
||||
IBPackageWithRepositoryInfo | undefined
|
||||
|
|
@ -692,6 +695,9 @@ const Packages = () => {
|
|||
}
|
||||
} else {
|
||||
const selectedPackages = [...packages];
|
||||
if (currentlyRemovedPackages.length > 0) {
|
||||
selectedPackages.push(...currentlyRemovedPackages);
|
||||
}
|
||||
if (toggleSourceRepos === RepoToggle.INCLUDED) {
|
||||
return selectedPackages;
|
||||
} else {
|
||||
|
|
@ -699,6 +705,7 @@ const Packages = () => {
|
|||
}
|
||||
}
|
||||
}, [
|
||||
currentlyRemovedPackages,
|
||||
dataCustomPackages,
|
||||
dataDistroPackages,
|
||||
dataRecommendedPackages,
|
||||
|
|
@ -808,9 +815,13 @@ const Packages = () => {
|
|||
setIsSelectingPackage(pkg);
|
||||
} else {
|
||||
dispatch(addPackage(pkg));
|
||||
setCurrentlyRemovedPackages((prev) =>
|
||||
prev.filter((curr) => curr.name !== pkg.name)
|
||||
);
|
||||
}
|
||||
} else {
|
||||
dispatch(removePackage(pkg.name));
|
||||
setCurrentlyRemovedPackages((last) => [...last, pkg]);
|
||||
if (
|
||||
isSuccessEpelRepo &&
|
||||
epelRepo?.data &&
|
||||
|
|
@ -855,12 +866,14 @@ const Packages = () => {
|
|||
|
||||
const handleFilterToggleClick = (event: React.MouseEvent) => {
|
||||
const id = event.currentTarget.id;
|
||||
setCurrentlyRemovedPackages([]);
|
||||
setPage(1);
|
||||
setToggleSelected(id);
|
||||
};
|
||||
|
||||
const handleRepoToggleClick = (type: RepoToggle) => {
|
||||
if (toggleSourceRepos !== type) {
|
||||
setCurrentlyRemovedPackages([]);
|
||||
setPage(1);
|
||||
setToggleSourceRepos(type);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue