Web: Files: applied contextOptionsStore in row
This commit is contained in:
parent
72e1e7a08f
commit
a50af59dd1
@ -8,6 +8,7 @@ import { isMobile } from "react-device-detect";
|
|||||||
|
|
||||||
const FilesRowContainer = (props) => {
|
const FilesRowContainer = (props) => {
|
||||||
const { isLoaded, isLoading, getFilesContextOptions } = props;
|
const { isLoaded, isLoading, getFilesContextOptions } = props;
|
||||||
|
console.log("render container");
|
||||||
return !isLoaded || (isMobile && isLoading) ? (
|
return !isLoaded || (isMobile && isLoading) ? (
|
||||||
<Loaders.Rows />
|
<Loaders.Rows />
|
||||||
) : (
|
) : (
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useCallback } from "react";
|
import React from "react";
|
||||||
import { ReactSVG } from "react-svg";
|
import { ReactSVG } from "react-svg";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
@ -9,11 +9,6 @@ import DragAndDrop from "@appserver/components/drag-and-drop";
|
|||||||
import Row from "@appserver/components/row";
|
import Row from "@appserver/components/row";
|
||||||
import FilesRowContent from "./FilesRowContent";
|
import FilesRowContent from "./FilesRowContent";
|
||||||
import { withRouter } from "react-router-dom";
|
import { withRouter } from "react-router-dom";
|
||||||
import toastr from "studio/toastr";
|
|
||||||
import { FileAction, AppServerConfig } from "@appserver/common/constants";
|
|
||||||
import copy from "copy-to-clipboard";
|
|
||||||
import config from "../../../../../../../package.json";
|
|
||||||
import { combineUrl } from "@appserver/common/utils";
|
|
||||||
|
|
||||||
const StyledSimpleFilesRow = styled(Row)`
|
const StyledSimpleFilesRow = styled(Row)`
|
||||||
margin-top: -2px;
|
margin-top: -2px;
|
||||||
@ -77,51 +72,26 @@ const SimpleFilesRow = (props) => {
|
|||||||
isFolder,
|
isFolder,
|
||||||
draggable,
|
draggable,
|
||||||
isRootFolder,
|
isRootFolder,
|
||||||
homepage,
|
|
||||||
isTabletView,
|
|
||||||
actionId,
|
actionId,
|
||||||
selectedFolderId,
|
selectedFolderId,
|
||||||
|
|
||||||
setSharingPanelVisible,
|
setSharingPanelVisible,
|
||||||
setChangeOwnerPanelVisible,
|
setChangeOwnerPanelVisible,
|
||||||
setDeleteThirdPartyDialogVisible,
|
|
||||||
setRemoveItem,
|
|
||||||
setMoveToPanelVisible,
|
setMoveToPanelVisible,
|
||||||
setCopyPanelVisible,
|
setCopyPanelVisible,
|
||||||
openDocEditor,
|
|
||||||
setIsVerHistoryPanel,
|
|
||||||
fetchFileVersions,
|
|
||||||
setAction,
|
|
||||||
deleteFileAction,
|
|
||||||
deleteFolderAction,
|
|
||||||
lockFileAction,
|
|
||||||
duplicateAction,
|
|
||||||
finalizeVersionAction,
|
|
||||||
setFavoriteAction,
|
|
||||||
openLocationAction,
|
|
||||||
selectRowAction,
|
selectRowAction,
|
||||||
setThirdpartyInfo,
|
|
||||||
setMediaViewerData,
|
|
||||||
setDragging,
|
setDragging,
|
||||||
startUpload,
|
startUpload,
|
||||||
onSelectItem,
|
onSelectItem,
|
||||||
history,
|
|
||||||
} = props;
|
} = props;
|
||||||
|
console.log("render row");
|
||||||
const {
|
const {
|
||||||
id,
|
id,
|
||||||
title,
|
|
||||||
fileExst,
|
fileExst,
|
||||||
shared,
|
shared,
|
||||||
access,
|
access,
|
||||||
contextOptions,
|
contextOptions,
|
||||||
icon,
|
icon,
|
||||||
providerKey,
|
providerKey,
|
||||||
folderId,
|
|
||||||
viewUrl,
|
|
||||||
webUrl,
|
|
||||||
canOpenPlayer,
|
|
||||||
locked,
|
|
||||||
} = item;
|
} = item;
|
||||||
|
|
||||||
let value = fileExst ? `file_${id}` : `folder_${id}`;
|
let value = fileExst ? `file_${id}` : `folder_${id}`;
|
||||||
@ -181,286 +151,10 @@ const SimpleFilesRow = (props) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const onOpenLocation = () => {
|
|
||||||
const locationId = isFolder ? id : folderId;
|
|
||||||
openLocationAction(locationId, isFolder);
|
|
||||||
};
|
|
||||||
|
|
||||||
const showVersionHistory = () => {
|
|
||||||
if (!isTabletView) {
|
|
||||||
fetchFileVersions(id + "");
|
|
||||||
setIsVerHistoryPanel(true);
|
|
||||||
} else {
|
|
||||||
history.push(
|
|
||||||
combineUrl(AppServerConfig.proxyURL, homepage, `/${id}/history`)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const finalizeVersion = () =>
|
|
||||||
finalizeVersionAction(id).catch((err) => toastr.error(err));
|
|
||||||
|
|
||||||
const onClickFavorite = (e) => {
|
|
||||||
const { action } = e.currentTarget.dataset;
|
|
||||||
setFavoriteAction(action, id)
|
|
||||||
.then(() =>
|
|
||||||
action === "mark"
|
|
||||||
? toastr.success(t("MarkedAsFavorite"))
|
|
||||||
: toastr.success(t("RemovedFromFavorites"))
|
|
||||||
)
|
|
||||||
.catch((err) => toastr.error(err));
|
|
||||||
};
|
|
||||||
|
|
||||||
const lockFile = () =>
|
|
||||||
lockFileAction(id, !locked).catch((err) => toastr.error(err));
|
|
||||||
|
|
||||||
const onClickLinkForPortal = () => {
|
|
||||||
const isFile = !!fileExst;
|
|
||||||
copy(
|
|
||||||
isFile
|
|
||||||
? canOpenPlayer
|
|
||||||
? `${window.location.href}&preview=${id}`
|
|
||||||
: webUrl
|
|
||||||
: `${window.location.origin + homepage}/filter?folder=${id}`
|
|
||||||
);
|
|
||||||
|
|
||||||
toastr.success(t("LinkCopySuccess"));
|
|
||||||
};
|
|
||||||
|
|
||||||
const onClickLinkEdit = () => openDocEditor(id, providerKey);
|
|
||||||
|
|
||||||
const onClickDownload = () => window.open(viewUrl, "_blank");
|
|
||||||
|
|
||||||
const onDuplicate = () =>
|
|
||||||
duplicateAction(item, t("CopyOperation")).catch((err) => toastr.error(err));
|
|
||||||
|
|
||||||
const onClickRename = () => {
|
|
||||||
setAction({
|
|
||||||
type: FileAction.Rename,
|
|
||||||
extension: fileExst,
|
|
||||||
id,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const onChangeThirdPartyInfo = () => setThirdpartyInfo();
|
|
||||||
|
|
||||||
const onMediaFileClick = (fileId) => {
|
|
||||||
const itemId = typeof fileId !== "object" ? fileId : id;
|
|
||||||
setMediaViewerData({ visible: true, id: itemId });
|
|
||||||
};
|
|
||||||
|
|
||||||
const onClickDelete = () => {
|
|
||||||
if (isThirdPartyFolder) {
|
|
||||||
const splitItem = id.split("-");
|
|
||||||
setRemoveItem({ id: splitItem[splitItem.length - 1], title });
|
|
||||||
setDeleteThirdPartyDialogVisible(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const translations = {
|
|
||||||
deleteOperation: t("DeleteOperation"),
|
|
||||||
};
|
|
||||||
|
|
||||||
item.fileExst
|
|
||||||
? deleteFileAction(item.id, item.folderId, translations)
|
|
||||||
.then(() => toastr.success(t("FileRemoved")))
|
|
||||||
.catch((err) => toastr.error(err))
|
|
||||||
: deleteFolderAction(item.id, item.parentId, translations)
|
|
||||||
.then(() => toastr.success(t("FolderRemoved")))
|
|
||||||
.catch((err) => toastr.error(err));
|
|
||||||
};
|
|
||||||
|
|
||||||
const rowContextClick = () => {
|
const rowContextClick = () => {
|
||||||
onSelectItem(item);
|
onSelectItem(item);
|
||||||
};
|
};
|
||||||
|
|
||||||
const getFilesContextOptions = useCallback(() => {
|
|
||||||
const isSharable = item.access !== 1 && item.access !== 0;
|
|
||||||
|
|
||||||
return contextOptions.map((option) => {
|
|
||||||
switch (option) {
|
|
||||||
case "open":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("Open"),
|
|
||||||
icon: "images/catalog.folder.react.svg",
|
|
||||||
onClick: onOpenLocation,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "show-version-history":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("ShowVersionHistory"),
|
|
||||||
icon: "images/history.react.svg",
|
|
||||||
onClick: showVersionHistory,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "finalize-version":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("FinalizeVersion"),
|
|
||||||
icon: "images/history-finalized.react.svg",
|
|
||||||
onClick: finalizeVersion,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "separator0":
|
|
||||||
case "separator1":
|
|
||||||
case "separator2":
|
|
||||||
case "separator3":
|
|
||||||
return { key: option, isSeparator: true };
|
|
||||||
case "open-location":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("OpenLocation"),
|
|
||||||
icon: "images/download-as.react.svg",
|
|
||||||
onClick: onOpenLocation,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "mark-as-favorite":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("MarkAsFavorite"),
|
|
||||||
icon: "images/favorites.react.svg",
|
|
||||||
onClick: onClickFavorite,
|
|
||||||
disabled: false,
|
|
||||||
"data-action": "mark",
|
|
||||||
};
|
|
||||||
case "block-unblock-version":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("UnblockVersion"),
|
|
||||||
icon: "images/lock.react.svg",
|
|
||||||
onClick: lockFile,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "sharing-settings":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("SharingSettings"),
|
|
||||||
icon: "images/catalog.shared.react.svg",
|
|
||||||
onClick: onClickShare,
|
|
||||||
disabled: isSharable,
|
|
||||||
};
|
|
||||||
case "send-by-email":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("SendByEmail"),
|
|
||||||
icon: "/static/images/mail.react.svg",
|
|
||||||
disabled: true,
|
|
||||||
};
|
|
||||||
case "owner-change":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("ChangeOwner"),
|
|
||||||
icon: "images/catalog.user.react.svg",
|
|
||||||
onClick: onOwnerChange,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "link-for-portal-users":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("LinkForPortalUsers"),
|
|
||||||
icon: "/static/images/invitation.link.react.svg",
|
|
||||||
onClick: onClickLinkForPortal,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "edit":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("Edit"),
|
|
||||||
icon: "images/access.edit.react.svg",
|
|
||||||
onClick: onClickLinkEdit,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "preview":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("Preview"),
|
|
||||||
icon: "EyeIcon",
|
|
||||||
onClick: onClickLinkEdit,
|
|
||||||
disabled: true,
|
|
||||||
};
|
|
||||||
case "view":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("View"),
|
|
||||||
icon: "/static/images/eye.react.svg",
|
|
||||||
onClick: onMediaFileClick,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "download":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("Download"),
|
|
||||||
icon: "images/download.react.svg",
|
|
||||||
onClick: onClickDownload,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "move":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("MoveTo"),
|
|
||||||
icon: "images/move.react.svg",
|
|
||||||
onClick: onMoveAction,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "copy":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("Copy"),
|
|
||||||
icon: "/static/images/copy.react.svg",
|
|
||||||
onClick: onCopyAction,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "duplicate":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("Duplicate"),
|
|
||||||
icon: "/static/images/copy.react.svg",
|
|
||||||
onClick: onDuplicate,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "rename":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("Rename"),
|
|
||||||
icon: "images/rename.react.svg",
|
|
||||||
onClick: onClickRename,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "change-thirdparty-info":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("ThirdPartyInfo"),
|
|
||||||
icon: "images/access.edit.react.svg",
|
|
||||||
onClick: onChangeThirdPartyInfo,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "delete":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: isThirdPartyFolder ? t("DeleteThirdParty") : t("Delete"),
|
|
||||||
icon: "/static/images/catalog.trash.react.svg",
|
|
||||||
onClick: onClickDelete,
|
|
||||||
disabled: false,
|
|
||||||
};
|
|
||||||
case "remove-from-favorites":
|
|
||||||
return {
|
|
||||||
key: option,
|
|
||||||
label: t("RemoveFromFavorites"),
|
|
||||||
icon: "images/favorites.react.svg",
|
|
||||||
onClick: onClickFavorite,
|
|
||||||
disabled: false,
|
|
||||||
"data-action": "remove",
|
|
||||||
};
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return undefined;
|
|
||||||
});
|
|
||||||
}, [contextOptions, item]);
|
|
||||||
|
|
||||||
const onDropZoneUpload = (files, uploadToFolder) => {
|
const onDropZoneUpload = (files, uploadToFolder) => {
|
||||||
const folderId = uploadToFolder ? uploadToFolder : selectedFolderId;
|
const folderId = uploadToFolder ? uploadToFolder : selectedFolderId;
|
||||||
|
|
||||||
@ -484,7 +178,7 @@ const SimpleFilesRow = (props) => {
|
|||||||
const contextOptionsProps =
|
const contextOptionsProps =
|
||||||
!isEdit && contextOptions && contextOptions.length > 0
|
!isEdit && contextOptions && contextOptions.length > 0
|
||||||
? {
|
? {
|
||||||
contextOptions: props.getFilesContextOptions(item, isFolder),
|
contextOptions: props.getContextOptions(item, t),
|
||||||
}
|
}
|
||||||
: {};
|
: {};
|
||||||
|
|
||||||
@ -536,14 +230,12 @@ export default inject(
|
|||||||
treeFoldersStore,
|
treeFoldersStore,
|
||||||
selectedFolderStore,
|
selectedFolderStore,
|
||||||
dialogsStore,
|
dialogsStore,
|
||||||
versionHistoryStore,
|
|
||||||
filesActionsStore,
|
filesActionsStore,
|
||||||
mediaViewerDataStore,
|
|
||||||
uploadDataStore,
|
uploadDataStore,
|
||||||
|
contextOptionsStore,
|
||||||
},
|
},
|
||||||
{ item }
|
{ item }
|
||||||
) => {
|
) => {
|
||||||
const { isTabletView } = auth.settingsStore;
|
|
||||||
const { dragging, setDragging } = initFilesStore;
|
const { dragging, setDragging } = initFilesStore;
|
||||||
const { type, extension, id } = filesStore.fileActionStore;
|
const { type, extension, id } = filesStore.fileActionStore;
|
||||||
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
|
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
|
||||||
@ -551,17 +243,13 @@ export default inject(
|
|||||||
const {
|
const {
|
||||||
setSharingPanelVisible,
|
setSharingPanelVisible,
|
||||||
setChangeOwnerPanelVisible,
|
setChangeOwnerPanelVisible,
|
||||||
setRemoveItem,
|
|
||||||
setDeleteThirdPartyDialogVisible,
|
|
||||||
setMoveToPanelVisible,
|
setMoveToPanelVisible,
|
||||||
setCopyPanelVisible,
|
setCopyPanelVisible,
|
||||||
} = dialogsStore;
|
} = dialogsStore;
|
||||||
|
|
||||||
const { selection, canShare, openDocEditor, fileActionStore } = filesStore;
|
const { selection, canShare, fileActionStore } = filesStore;
|
||||||
|
|
||||||
const { isRootFolder, id: selectedFolderId } = selectedFolderStore;
|
const { isRootFolder, id: selectedFolderId } = selectedFolderStore;
|
||||||
const { setIsVerHistoryPanel, fetchFileVersions } = versionHistoryStore;
|
|
||||||
const { setAction } = fileActionStore;
|
|
||||||
|
|
||||||
const selectedItem = selection.find(
|
const selectedItem = selection.find(
|
||||||
(x) => x.id === item.id && x.fileExst === item.fileExst
|
(x) => x.id === item.id && x.fileExst === item.fileExst
|
||||||
@ -571,22 +259,12 @@ export default inject(
|
|||||||
const draggable =
|
const draggable =
|
||||||
!isRecycleBinFolder && selectedItem && selectedItem.id !== id;
|
!isRecycleBinFolder && selectedItem && selectedItem.id !== id;
|
||||||
|
|
||||||
const {
|
const { selectRowAction, onSelectItem } = filesActionsStore;
|
||||||
deleteFileAction,
|
|
||||||
deleteFolderAction,
|
|
||||||
lockFileAction,
|
|
||||||
finalizeVersionAction,
|
|
||||||
duplicateAction,
|
|
||||||
setFavoriteAction,
|
|
||||||
openLocationAction,
|
|
||||||
selectRowAction,
|
|
||||||
setThirdpartyInfo,
|
|
||||||
onSelectItem,
|
|
||||||
} = filesActionsStore;
|
|
||||||
|
|
||||||
const { setMediaViewerData } = mediaViewerDataStore;
|
|
||||||
const { startUpload } = uploadDataStore;
|
const { startUpload } = uploadDataStore;
|
||||||
|
|
||||||
|
const { getContextOptions } = contextOptionsStore;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
dragging,
|
dragging,
|
||||||
actionType: type,
|
actionType: type,
|
||||||
@ -598,34 +276,20 @@ export default inject(
|
|||||||
checked: selection.some((el) => el.id === item.id),
|
checked: selection.some((el) => el.id === item.id),
|
||||||
isFolder,
|
isFolder,
|
||||||
draggable,
|
draggable,
|
||||||
|
|
||||||
isItemsSelected: !!selection.length,
|
isItemsSelected: !!selection.length,
|
||||||
homepage: config.homepage,
|
|
||||||
isTabletView,
|
|
||||||
actionId: fileActionStore.id,
|
actionId: fileActionStore.id,
|
||||||
setSharingPanelVisible,
|
setSharingPanelVisible,
|
||||||
setChangeOwnerPanelVisible,
|
setChangeOwnerPanelVisible,
|
||||||
setRemoveItem,
|
|
||||||
setDeleteThirdPartyDialogVisible,
|
|
||||||
setMoveToPanelVisible,
|
setMoveToPanelVisible,
|
||||||
setCopyPanelVisible,
|
setCopyPanelVisible,
|
||||||
openDocEditor,
|
|
||||||
setIsVerHistoryPanel,
|
|
||||||
fetchFileVersions,
|
|
||||||
setAction,
|
|
||||||
deleteFileAction,
|
|
||||||
deleteFolderAction,
|
|
||||||
lockFileAction,
|
|
||||||
finalizeVersionAction,
|
|
||||||
duplicateAction,
|
|
||||||
setFavoriteAction,
|
|
||||||
openLocationAction,
|
|
||||||
selectRowAction,
|
selectRowAction,
|
||||||
setThirdpartyInfo,
|
|
||||||
setMediaViewerData,
|
|
||||||
selectedFolderId,
|
selectedFolderId,
|
||||||
setDragging,
|
setDragging,
|
||||||
startUpload,
|
startUpload,
|
||||||
onSelectItem,
|
onSelectItem,
|
||||||
|
getContextOptions,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)(withTranslation("Home")(observer(withRouter(SimpleFilesRow))));
|
)(withTranslation("Home")(observer(withRouter(SimpleFilesRow))));
|
||||||
|
@ -10,6 +10,7 @@ import FilesTileContainer from "./FilesTile/FilesTileContainer";
|
|||||||
import EmptyContainer from "./EmptyContainer";
|
import EmptyContainer from "./EmptyContainer";
|
||||||
|
|
||||||
import { AppServerConfig, FileAction } from "@appserver/common/constants";
|
import { AppServerConfig, FileAction } from "@appserver/common/constants";
|
||||||
|
//import copy from "copy-to-clipboard";
|
||||||
import config from "../../../../../../package.json";
|
import config from "../../../../../../package.json";
|
||||||
import toastr from "studio/toastr";
|
import toastr from "studio/toastr";
|
||||||
import copy from "copy-to-clipboard";
|
import copy from "copy-to-clipboard";
|
||||||
@ -390,6 +391,21 @@ class SectionBodyContent extends React.Component {
|
|||||||
// this.onCloseThirdPartyMoveDialog();
|
// this.onCloseThirdPartyMoveDialog();
|
||||||
// };
|
// };
|
||||||
|
|
||||||
|
getItemIcon = (isEdit, icon, fileExst) => {
|
||||||
|
const { isPrivacyFolder } = this.props;
|
||||||
|
const svgLoader = () => <div style={{ width: "24px" }}></div>;
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<ReactSVG
|
||||||
|
className={`react-svg-icon${isEdit ? " is-edit" : ""}`}
|
||||||
|
src={icon}
|
||||||
|
loading={svgLoader}
|
||||||
|
/>
|
||||||
|
{isPrivacyFolder && fileExst && <EncryptedFileIcon isEdit={isEdit} />}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
getFilesContextOptions = (item, isFolder = null) => {
|
getFilesContextOptions = (item, isFolder = null) => {
|
||||||
const {
|
const {
|
||||||
t,
|
t,
|
||||||
@ -416,6 +432,7 @@ class SectionBodyContent extends React.Component {
|
|||||||
setDeleteThirdPartyDialogVisible,
|
setDeleteThirdPartyDialogVisible,
|
||||||
deleteFileAction,
|
deleteFileAction,
|
||||||
openLocationAction,
|
openLocationAction,
|
||||||
|
deleteFolderAction,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@ -432,14 +449,16 @@ class SectionBodyContent extends React.Component {
|
|||||||
webUrl,
|
webUrl,
|
||||||
} = item;
|
} = item;
|
||||||
|
|
||||||
const isSharable = item.access !== 1 && item.access !== 0;
|
|
||||||
const isThirdPartyFolder = providerKey && isRootFolder;
|
|
||||||
|
|
||||||
const onOpenLocation = () => {
|
const onOpenLocation = () => {
|
||||||
|
const { selection } = this.props;
|
||||||
|
const { id } = selection[0];
|
||||||
const locationId = isFolder ? id : folderId;
|
const locationId = isFolder ? id : folderId;
|
||||||
openLocationAction(locationId, isFolder);
|
openLocationAction(locationId, isFolder);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const isSharable = item.access !== 1 && item.access !== 0;
|
||||||
|
const isThirdPartyFolder = providerKey && isRootFolder;
|
||||||
|
|
||||||
const showVersionHistory = () => {
|
const showVersionHistory = () => {
|
||||||
if (!isTabletView) {
|
if (!isTabletView) {
|
||||||
fetchFileVersions(id + "");
|
fetchFileVersions(id + "");
|
||||||
@ -582,7 +601,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
disabled: false,
|
disabled: false,
|
||||||
"data-action": "mark",
|
"data-action": "mark",
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "block-unblock-version":
|
case "block-unblock-version":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -591,7 +609,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: lockFile,
|
onClick: lockFile,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "sharing-settings":
|
case "sharing-settings":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -600,7 +617,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onClickShare,
|
onClick: onClickShare,
|
||||||
disabled: isSharable,
|
disabled: isSharable,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "send-by-email":
|
case "send-by-email":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -608,7 +624,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
icon: "/static/images/mail.react.svg",
|
icon: "/static/images/mail.react.svg",
|
||||||
disabled: true,
|
disabled: true,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "owner-change":
|
case "owner-change":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -617,7 +632,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onOwnerChange,
|
onClick: onOwnerChange,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "link-for-portal-users":
|
case "link-for-portal-users":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -626,7 +640,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onClickLinkForPortal,
|
onClick: onClickLinkForPortal,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "edit":
|
case "edit":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -635,7 +648,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onClickLinkEdit,
|
onClick: onClickLinkEdit,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "preview":
|
case "preview":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -644,7 +656,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onClickLinkEdit,
|
onClick: onClickLinkEdit,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "view":
|
case "view":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -653,7 +664,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onMediaFileClick,
|
onClick: onMediaFileClick,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "download":
|
case "download":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -662,7 +672,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onClickDownload,
|
onClick: onClickDownload,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "move":
|
case "move":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -671,7 +680,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onMoveAction,
|
onClick: onMoveAction,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "copy":
|
case "copy":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -680,7 +688,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onCopyAction,
|
onClick: onCopyAction,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "duplicate":
|
case "duplicate":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -689,7 +696,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onDuplicate,
|
onClick: onDuplicate,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "rename":
|
case "rename":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -698,7 +704,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onClickRename,
|
onClick: onClickRename,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "change-thirdparty-info":
|
case "change-thirdparty-info":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -707,7 +712,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onChangeThirdPartyInfo,
|
onClick: onChangeThirdPartyInfo,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "delete":
|
case "delete":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -716,7 +720,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
onClick: onClickDelete,
|
onClick: onClickDelete,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
};
|
};
|
||||||
//
|
|
||||||
case "remove-from-favorites":
|
case "remove-from-favorites":
|
||||||
return {
|
return {
|
||||||
key: option,
|
key: option,
|
||||||
@ -734,21 +737,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
getItemIcon = (isEdit, icon, fileExst) => {
|
|
||||||
const { isPrivacyFolder } = this.props;
|
|
||||||
const svgLoader = () => <div style={{ width: "24px" }}></div>;
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<ReactSVG
|
|
||||||
className={`react-svg-icon${isEdit ? " is-edit" : ""}`}
|
|
||||||
src={icon}
|
|
||||||
loading={svgLoader}
|
|
||||||
/>
|
|
||||||
{isPrivacyFolder && fileExst && <EncryptedFileIcon isEdit={isEdit} />}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
selection,
|
selection,
|
||||||
@ -761,9 +749,11 @@ class SectionBodyContent extends React.Component {
|
|||||||
tooltipValue,
|
tooltipValue,
|
||||||
isLoading,
|
isLoading,
|
||||||
isEmptyFilesList,
|
isEmptyFilesList,
|
||||||
|
|
||||||
|
folderId,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
//console.log("Files Home SectionBodyContent render", this.props);
|
console.log("Files Home SectionBodyContent render", this.props);
|
||||||
|
|
||||||
let fileMoveTooltip;
|
let fileMoveTooltip;
|
||||||
if (dragging) {
|
if (dragging) {
|
||||||
@ -787,12 +777,15 @@ class SectionBodyContent extends React.Component {
|
|||||||
{viewAs === "tile" ? (
|
{viewAs === "tile" ? (
|
||||||
<FilesTileContainer
|
<FilesTileContainer
|
||||||
t={t}
|
t={t}
|
||||||
getFilesContextOptions={this.getFilesContextOptions}
|
folderId={folderId}
|
||||||
getItemIcon={this.getItemIcon}
|
getItemIcon={this.getItemIcon}
|
||||||
|
getFilesContextOptions={this.getFilesContextOptions}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<FilesRowContainer
|
<FilesRowContainer
|
||||||
getFilesContextOptions={this.getFilesContextOptions}
|
t={t}
|
||||||
|
//getFilesContextOptions={this.getFilesContextOptions}
|
||||||
|
folderId={folderId}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
@ -857,11 +850,12 @@ export default inject(
|
|||||||
setThirdpartyInfo,
|
setThirdpartyInfo,
|
||||||
deleteFileAction,
|
deleteFileAction,
|
||||||
openLocationAction,
|
openLocationAction,
|
||||||
|
deleteFolderAction,
|
||||||
} = filesActionsStore;
|
} = filesActionsStore;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isAdmin: auth.isAdmin,
|
isAdmin: auth.isAdmin,
|
||||||
isTabletView: auth.settingsStore,
|
|
||||||
dragging,
|
dragging,
|
||||||
fileActionId,
|
fileActionId,
|
||||||
firstLoad,
|
firstLoad,
|
||||||
@ -874,15 +868,20 @@ export default inject(
|
|||||||
tooltipValue,
|
tooltipValue,
|
||||||
isLoading,
|
isLoading,
|
||||||
isEmptyFilesList: filesList.length <= 0,
|
isEmptyFilesList: filesList.length <= 0,
|
||||||
homepage: config.homepage,
|
|
||||||
|
|
||||||
setDragging,
|
setDragging,
|
||||||
setSecondaryProgressBarData,
|
setSecondaryProgressBarData,
|
||||||
copyToAction,
|
copyToAction,
|
||||||
moveToAction,
|
moveToAction,
|
||||||
folderId: selectedFolderStore.id,
|
folderId: selectedFolderStore.id,
|
||||||
|
|
||||||
|
isPrivacyFolder,
|
||||||
|
|
||||||
|
openLocationAction,
|
||||||
|
isTabletView: auth.settingsStore,
|
||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
fetchFileVersions,
|
fetchFileVersions,
|
||||||
|
homepage: config.homepage,
|
||||||
setFavoriteAction,
|
setFavoriteAction,
|
||||||
finalizeVersionAction,
|
finalizeVersionAction,
|
||||||
lockFileAction,
|
lockFileAction,
|
||||||
@ -896,12 +895,11 @@ export default inject(
|
|||||||
duplicateAction,
|
duplicateAction,
|
||||||
setAction,
|
setAction,
|
||||||
setThirdpartyInfo,
|
setThirdpartyInfo,
|
||||||
|
deleteFileAction,
|
||||||
isRootFolder: selectedFolderStore.isRootFolder,
|
isRootFolder: selectedFolderStore.isRootFolder,
|
||||||
setRemoveItem,
|
setRemoveItem,
|
||||||
setDeleteThirdPartyDialogVisible,
|
setDeleteThirdPartyDialogVisible,
|
||||||
deleteFileAction,
|
deleteFolderAction,
|
||||||
openLocationAction,
|
|
||||||
isPrivacyFolder,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)(withRouter(withTranslation("Home")(observer(SectionBodyContent))));
|
)(withRouter(withTranslation("Home")(observer(SectionBodyContent))));
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
|
|
||||||
export default withGetContextOptions(WrappedComponent) => {
|
|
||||||
return class extends React.Component {
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return <WrappedComponent {...this.props}/>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -94,7 +94,6 @@ class SectionFilterContent extends React.Component {
|
|||||||
|
|
||||||
onChangeViewAs = (view) => {
|
onChangeViewAs = (view) => {
|
||||||
const { viewAs, setViewAs } = this.props;
|
const { viewAs, setViewAs } = this.props;
|
||||||
console.log(view, "-----");
|
|
||||||
setViewAs(view);
|
setViewAs(view);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user