Fixed delete object behavior (#1646)

Also fixed an issue with multi-select & panel sizes

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>

Co-authored-by: Benjamin Perez <benjamin@bexsoft.net>
This commit is contained in:
Alex
2022-03-01 14:23:18 -07:00
committed by GitHub
parent 57e995fc71
commit a0bf2b49db
2 changed files with 19 additions and 43 deletions

View File

@@ -129,7 +129,7 @@ const styles = (theme: Theme) =>
browsePaper: { browsePaper: {
height: "calc(100vh - 210px)", height: "calc(100vh - 210px)",
"&.actionsPanelOpen": { "&.actionsPanelOpen": {
height: "100%", minHeight: "100%",
}, },
}, },
"@global": { "@global": {
@@ -1043,6 +1043,17 @@ const ListObjects = ({
uploadPath = uploadPath.concat(currentPath); uploadPath = uploadPath.concat(currentPath);
} }
const onClosePanel = (forceRefresh: boolean) => {
setDetailsOpen(false);
setSelectedInternalPaths(null);
setSelectedObjects([]);
setVersionsModeEnabled(false);
if(forceRefresh) {
setLoading(true);
}
};
const tableActions: ItemActions[] = [ const tableActions: ItemActions[] = [
{ {
type: "view", type: "view",
@@ -1309,10 +1320,7 @@ const ListObjects = ({
<DetailsListPanel <DetailsListPanel
open={detailsOpen} open={detailsOpen}
closePanel={() => { closePanel={() => {
setDetailsOpen(false); onClosePanel(false);
setSelectedInternalPaths(null);
setSelectedObjects([]);
setVersionsModeEnabled(false);
}} }}
> >
{selectedObjects.length > 0 && ( {selectedObjects.length > 0 && (
@@ -1325,6 +1333,7 @@ const ListObjects = ({
<ObjectDetailPanel <ObjectDetailPanel
internalPaths={selectedInternalPaths} internalPaths={selectedInternalPaths}
bucketName={bucketName} bucketName={bucketName}
onClosePanel={onClosePanel}
/> />
)} )}
</DetailsListPanel> </DetailsListPanel>

View File

@@ -60,7 +60,6 @@ import {
VersionsIcon, VersionsIcon,
} from "../../../../../../icons"; } from "../../../../../../icons";
import { ShareIcon, DownloadIcon, DeleteIcon } from "../../../../../../icons"; import { ShareIcon, DownloadIcon, DeleteIcon } from "../../../../../../icons";
import history from "../../../../../../history";
import api from "../../../../../../common/api"; import api from "../../../../../../common/api";
import ShareFile from "../ObjectDetails/ShareFile"; import ShareFile from "../ObjectDetails/ShareFile";
import SetRetention from "../ObjectDetails/SetRetention"; import SetRetention from "../ObjectDetails/SetRetention";
@@ -147,6 +146,7 @@ interface IObjectDetailPanelProps {
distributedSetup: boolean; distributedSetup: boolean;
versionsMode: boolean; versionsMode: boolean;
selectedVersion: string; selectedVersion: string;
onClosePanel: (hardRefresh: boolean) => void;
setErrorSnackMessage: typeof setErrorSnackMessage; setErrorSnackMessage: typeof setErrorSnackMessage;
setSnackBarMessage: typeof setSnackBarMessage; setSnackBarMessage: typeof setSnackBarMessage;
setNewObject: typeof setNewObject; setNewObject: typeof setNewObject;
@@ -178,6 +178,7 @@ const ObjectDetailPanel = ({
completeObject, completeObject,
versionsMode, versionsMode,
selectedVersion, selectedVersion,
onClosePanel,
setVersionsModeEnabled, setVersionsModeEnabled,
}: IObjectDetailPanelProps) => { }: IObjectDetailPanelProps) => {
const [loadObjectData, setLoadObjectData] = useState<boolean>(true); const [loadObjectData, setLoadObjectData] = useState<boolean>(true);
@@ -328,16 +329,11 @@ const ObjectDetailPanel = ({
); );
}; };
const closeDeleteModal = (redirectBack: boolean) => { const closeDeleteModal = (closeAndReload: boolean) => {
setDeleteOpen(false); setDeleteOpen(false);
if (redirectBack) { if (closeAndReload) {
const newPath = allPathData.join("/"); onClosePanel(true);
history.push(
`/buckets/${bucketName}/browse${
newPath === "" ? "" : `/${encodeFileName(newPath)}`
}`
);
} }
}; };
@@ -454,35 +450,6 @@ const ObjectDetailPanel = ({
}, },
]; ];
/*
*
*
* <Box className={classes.detailContainer}>
{selectedVersion === "" ? (
<LabelValuePair
label={"Tags:"}
value={
<ObjectTags
objectInfo={actualInfo}
tagKeys={tagKeys}
bucketName={bucketName}
onDeleteTag={deleteTag}
onAddTagClick={() => {
setTagModalOpen(true);
}}
/>
}
/>
) : (
<Fragment>
<strong>Tags: </strong>
<br />
</Fragment>
)}
</Box>
*
* */
const calculateLastModifyTime = (lastModified: string) => { const calculateLastModifyTime = (lastModified: string) => {
const currentTime = new Date(); const currentTime = new Date();
const modifiedTime = new Date(lastModified); const modifiedTime = new Date(lastModified);