Add share action to listed objects (#1052)

Signed-off-by: Lenin Alevski <alevsk.8772@gmail.com>
This commit is contained in:
Lenin Alevski
2021-09-20 08:42:50 -07:00
committed by GitHub
parent 00752d2bb1
commit d85b693751
3 changed files with 32 additions and 8 deletions

View File

@@ -96,6 +96,7 @@ import {
FileXlsIcon,
FileZipIcon,
} from "../../../../../../icons";
import ShareFile from "../ObjectDetails/ShareFile";
const commonIcon = {
backgroundRepeat: "no-repeat",
@@ -263,6 +264,7 @@ const ListObjects = ({
const [selectedPreview, setSelectedPreview] = useState<BucketObject | null>(
null
);
const [shareFileModalOpen, setShareFileModalOpen] = useState<boolean>(false);
const internalPaths = get(match.params, "subpaths", "");
const bucketName = match.params["bucketName"];
@@ -628,10 +630,19 @@ const ListObjects = ({
const openPreview = (fileObject: BucketObject) => {
setSelectedPreview(fileObject);
setPreviewOpen(true);
};
const openShare = (fileObject: BucketObject) => {
setSelectedPreview(fileObject);
setShareFileModalOpen(true);
};
const closeShareModal = () => {
setShareFileModalOpen(false);
setSelectedPreview(null);
};
const tableActions = [
{ type: "view", onClick: openPath, sendOnlyId: true },
{
@@ -640,6 +651,11 @@ const ListObjects = ({
disableButtonFunction: (item: string) =>
extensionPreview(item) === "none",
},
{
type: "share",
onClick: openShare,
disableButtonFunction: (item: string) => item.endsWith("/"),
},
{
type: "download",
onClick: downloadObject,
@@ -788,13 +804,11 @@ const ListObjects = ({
const rewindCloseModal = (refresh: boolean) => {
setRewindSelect(false);
if (refresh) {
}
};
const closePreviewWindow = () => {
setPreviewOpen(false);
setSelectedPreview(null);
};
const selectListObjects = (e: React.ChangeEvent<HTMLInputElement>) => {
@@ -873,6 +887,18 @@ const ListObjects = ({
return (
<React.Fragment>
{shareFileModalOpen && selectedPreview && (
<ShareFile
open={shareFileModalOpen}
closeModalAndRefresh={closeShareModal}
bucketName={bucketName}
dataObject={{
name: selectedPreview.name,
last_modified: "",
version_id: selectedPreview.version_id,
}}
/>
)}
{deleteOpen && (
<DeleteObject
deleteOpen={deleteOpen}

View File

@@ -24,8 +24,6 @@ import { CircleIcon, VersionIcon } from "../../../../icons";
import get from "lodash/get";
import { commonDashboardInfocard } from "../../Common/FormComponents/common/styleLibrary";
const styles = (theme: Theme) =>
createStyles({
...commonDashboardInfocard,

View File

@@ -43,8 +43,8 @@ const styles = (theme: Theme) =>
marginRight: 10,
},
widgetValue: {
marginRight: 25,
}
marginRight: 25,
},
});
const SimpleWidget = ({ classes, iconWidget, label, value }: ISimpleWidget) => {