Web: Returned old solution with disabled context menu item.
This commit is contained in:
parent
e22d88fc3d
commit
19b82b1ed3
@ -49,11 +49,9 @@ class GroupButtonsMenu extends React.Component {
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
this.groupMenuElement = document.getElementById("groupMenu");
|
||||
const groupMenuElement = document.getElementById("groupMenu");
|
||||
|
||||
const groupMenuItems = this.groupMenuElement
|
||||
? this.groupMenuElement.children
|
||||
: [0];
|
||||
const groupMenuItems = groupMenuElement ? groupMenuElement.children : [0];
|
||||
const groupMenuItemsArray = [...groupMenuItems];
|
||||
|
||||
this.widthsArray = groupMenuItemsArray.map((item) => item.offsetWidth);
|
||||
@ -75,19 +73,6 @@ class GroupButtonsMenu extends React.Component {
|
||||
this.state.moreItems.length !== prevState.moreItems.length ||
|
||||
this.props.menuItems !== prevProps.menuItems
|
||||
) {
|
||||
if (
|
||||
this.state.priorityItems.length !== prevState.priorityItems.length &&
|
||||
this.props.sectionWidth === prevProps.sectionWidth &&
|
||||
this.state.moreItems.length === prevState.moreItems.length &&
|
||||
this.state.moreItems.length === 0
|
||||
) {
|
||||
const groupMenuItems = this.groupMenuElement
|
||||
? this.groupMenuElement.children
|
||||
: [0];
|
||||
const groupMenuItemsArray = [...groupMenuItems];
|
||||
|
||||
this.widthsArray = groupMenuItemsArray.map((item) => item.offsetWidth);
|
||||
}
|
||||
this.updateMenu();
|
||||
}
|
||||
}
|
||||
|
@ -693,92 +693,43 @@ class FilesActionStore {
|
||||
setEmptyTrashDialogVisible,
|
||||
} = this.dialogsStore;
|
||||
|
||||
const removeDownloadAs = !hasSelection || !isWebEditSelected;
|
||||
|
||||
const removeShare = !isAccessedSelected; //isFavoritesFolder || isRecentFolder
|
||||
const removeDownload = !hasSelection;
|
||||
|
||||
const removeMoveTo =
|
||||
isFavoritesFolder ||
|
||||
isRecentFolder ||
|
||||
!isAccessedSelected ||
|
||||
!hasSelection ||
|
||||
isThirdPartyRootSelection;
|
||||
|
||||
const removeCopy = !hasSelection;
|
||||
const removeDelete = !hasSelection || isThirdPartyRootSelection;
|
||||
|
||||
let itemsObj = new Map();
|
||||
|
||||
if (!removeShare) {
|
||||
(!isPrivacyFolder || !this.authStore.settingsStore.personal) &&
|
||||
itemsObj.set("share", {
|
||||
const headerMenu = [
|
||||
{
|
||||
label: t("Share"),
|
||||
disabled: !isAccessedSelected, //isFavoritesFolder || isRecentFolder
|
||||
onClick: () => setSharingPanelVisible(true),
|
||||
});
|
||||
}
|
||||
|
||||
if (!removeDownload) {
|
||||
!isPrivacyFolder &&
|
||||
itemsObj.set("download", {
|
||||
},
|
||||
{
|
||||
label: t("Common:Download"),
|
||||
disabled: !hasSelection,
|
||||
onClick: () =>
|
||||
this.downloadAction(t("Translations:ArchivingData")).catch((err) =>
|
||||
toastr.error(err)
|
||||
),
|
||||
});
|
||||
}
|
||||
|
||||
if (!removeDownloadAs) {
|
||||
!isPrivacyFolder &&
|
||||
itemsObj.set("downloadAs", {
|
||||
label: t("Translations:DownloadAs"),
|
||||
onClick: () => setDownloadDialogVisible(true),
|
||||
});
|
||||
}
|
||||
|
||||
if (!removeMoveTo) {
|
||||
!isRecycleBinFolder &&
|
||||
!isShareFolder &&
|
||||
!isRecentFolder &&
|
||||
!isFavoritesFolder &&
|
||||
itemsObj.set("moveTo", {
|
||||
label: t("MoveTo"),
|
||||
onClick: () => setMoveToPanelVisible(true),
|
||||
});
|
||||
}
|
||||
|
||||
if (!removeCopy) {
|
||||
!isRecycleBinFolder &&
|
||||
itemsObj.set("copy", {
|
||||
label: t("Translations:Copy"),
|
||||
onClick: () => setCopyPanelVisible(true),
|
||||
});
|
||||
}
|
||||
|
||||
if (isRecycleBinFolder) {
|
||||
itemsObj.set("restore", {
|
||||
label: t("Translations:Restore"),
|
||||
onClick: () => setMoveToPanelVisible(true),
|
||||
});
|
||||
}
|
||||
|
||||
if (!removeDelete) {
|
||||
if (isFavoritesFolder) {
|
||||
itemsObj.set("delete", {
|
||||
label: t("Common:Delete"),
|
||||
alt: t("RemoveFromFavorites"),
|
||||
onClick: () => {
|
||||
const items = selection.map((item) => item.id);
|
||||
this.setFavoriteAction("remove", items)
|
||||
.then(() => toastr.success(t("RemovedFromFavorites")))
|
||||
.catch((err) => toastr.error(err));
|
||||
},
|
||||
});
|
||||
} else {
|
||||
!isRecentFolder &&
|
||||
itemsObj.set("delete", {
|
||||
{
|
||||
label: t("Translations:DownloadAs"),
|
||||
disabled: !hasSelection || !isWebEditSelected,
|
||||
onClick: () => setDownloadDialogVisible(true),
|
||||
},
|
||||
{
|
||||
label: t("MoveTo"),
|
||||
disabled:
|
||||
isFavoritesFolder ||
|
||||
isRecentFolder ||
|
||||
!isAccessedSelected ||
|
||||
!hasSelection ||
|
||||
isThirdPartyRootSelection,
|
||||
onClick: () => setMoveToPanelVisible(true),
|
||||
},
|
||||
{
|
||||
label: t("Translations:Copy"),
|
||||
disabled: !hasSelection,
|
||||
onClick: () => setCopyPanelVisible(true),
|
||||
},
|
||||
{
|
||||
label: t("Common:Delete"),
|
||||
disabled: !hasSelection || isThirdPartyRootSelection,
|
||||
onClick: () => {
|
||||
if (this.settingsStore.confirmDelete) {
|
||||
setDeleteDialogVisible(true);
|
||||
@ -789,24 +740,60 @@ class FilesActionStore {
|
||||
deleteSelectedElem: t("Translations:DeleteSelectedElem"),
|
||||
};
|
||||
|
||||
this.deleteAction(translations).catch((err) =>
|
||||
toastr.error(err)
|
||||
);
|
||||
this.deleteAction(translations).catch((err) => toastr.error(err));
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
if (isRecycleBinFolder) {
|
||||
itemsObj.set("emptyRecycleBin", {
|
||||
headerMenu.push({
|
||||
label: t("EmptyRecycleBin"),
|
||||
onClick: () => setEmptyTrashDialogVisible(true),
|
||||
});
|
||||
|
||||
headerMenu.splice(3, 2, {
|
||||
label: t("Translations:Restore"),
|
||||
onClick: () => setMoveToPanelVisible(true),
|
||||
});
|
||||
}
|
||||
|
||||
const headerMenu = Array.from(itemsObj.values());
|
||||
itemsObj.clear();
|
||||
if (isFavoritesFolder) {
|
||||
headerMenu.splice(5, 1);
|
||||
headerMenu.push({
|
||||
label: t("Common:Delete"),
|
||||
alt: t("RemoveFromFavorites"),
|
||||
onClick: () => {
|
||||
const items = selection.map((item) => item.id);
|
||||
this.setFavoriteAction("remove", items)
|
||||
.then(() => toastr.success(t("RemovedFromFavorites")))
|
||||
.catch((err) => toastr.error(err));
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
if (isPrivacyFolder) {
|
||||
headerMenu.splice(0, 1);
|
||||
headerMenu.splice(1, 1);
|
||||
headerMenu.splice(2, 1);
|
||||
}
|
||||
|
||||
if (isShareFolder) {
|
||||
headerMenu.splice(3, 1);
|
||||
}
|
||||
|
||||
if (isRecentFolder) {
|
||||
headerMenu.splice(5, 1);
|
||||
}
|
||||
|
||||
if (isRecentFolder || isFavoritesFolder) {
|
||||
//headerMenu.splice(0, 1); TODO: need for develop
|
||||
headerMenu.splice(3, 1);
|
||||
}
|
||||
|
||||
if (this.authStore.settingsStore.personal) {
|
||||
headerMenu.splice(0, 1);
|
||||
}
|
||||
|
||||
return headerMenu;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user