import { resourceActionSet } from '~/views-components/context-menu/action-sets/resource-action-set';
import { favoriteActionSet } from "~/views-components/context-menu/action-sets/favorite-action-set";
import { collectionFilesActionSet, readOnlyCollectionFilesActionSet } from '~/views-components/context-menu/action-sets/collection-files-action-set';
-import { collectionFilesItemActionSet, readOnlyCollectionFilesItemActionSet } from '~/views-components/context-menu/action-sets/collection-files-item-action-set';
+import { collectionDirectoryItemActionSet, collectionFileItemActionSet, readOnlyCollectionDirectoryItemActionSet, readOnlyCollectionFileItemActionSet } from '~/views-components/context-menu/action-sets/collection-files-item-action-set';
import { collectionFilesNotSelectedActionSet } from '~/views-components/context-menu/action-sets/collection-files-not-selected-action-set';
import { collectionActionSet, collectionAdminActionSet, oldCollectionVersionActionSet, readOnlyCollectionActionSet } from '~/views-components/context-menu/action-sets/collection-action-set';
import { processActionSet } from '~/views-components/context-menu/action-sets/process-action-set';
addMenuActionSet(ContextMenuKind.COLLECTION_FILES, collectionFilesActionSet);
addMenuActionSet(ContextMenuKind.READONLY_COLLECTION_FILES, readOnlyCollectionFilesActionSet);
addMenuActionSet(ContextMenuKind.COLLECTION_FILES_NOT_SELECTED, collectionFilesNotSelectedActionSet);
-addMenuActionSet(ContextMenuKind.COLLECTION_FILES_ITEM, collectionFilesItemActionSet);
-addMenuActionSet(ContextMenuKind.READONLY_COLLECTION_FILES_ITEM, readOnlyCollectionFilesItemActionSet);
+addMenuActionSet(ContextMenuKind.COLLECTION_DIRECTORY_ITEM, collectionDirectoryItemActionSet);
+addMenuActionSet(ContextMenuKind.READONLY_COLLECTION_DIRECTORY_ITEM, readOnlyCollectionDirectoryItemActionSet);
+addMenuActionSet(ContextMenuKind.COLLECTION_FILE_ITEM, collectionFileItemActionSet);
+addMenuActionSet(ContextMenuKind.READONLY_COLLECTION_FILE_ITEM, readOnlyCollectionFileItemActionSet);
addMenuActionSet(ContextMenuKind.COLLECTION, collectionActionSet);
addMenuActionSet(ContextMenuKind.READONLY_COLLECTION, readOnlyCollectionActionSet);
addMenuActionSet(ContextMenuKind.OLD_VERSION_COLLECTION, oldCollectionVersionActionSet);
dispatch(collectionPanelFilesAction.TOGGLE_COLLECTION_FILE_SELECTION({ id: item.id }));
},
onItemMenuOpen: (event, item, isWritable) => {
+ const isDirectory = item.data.type === 'directory';
dispatch<any>(openContextMenu(
event,
{
menuKind: isWritable
- ? ContextMenuKind.COLLECTION_FILES_ITEM
- : ContextMenuKind.READONLY_COLLECTION_FILES_ITEM,
+ ? isDirectory
+ ? ContextMenuKind.COLLECTION_DIRECTORY_ITEM
+ : ContextMenuKind.COLLECTION_FILE_ITEM
+ : isDirectory
+ ? ContextMenuKind.READONLY_COLLECTION_DIRECTORY_ITEM
+ : ContextMenuKind.READONLY_COLLECTION_FILE_ITEM,
kind: ResourceKind.COLLECTION,
name: item.data.name,
uuid: item.id,
import { ContextMenuActionSet } from "~/views-components/context-menu/context-menu-action-set";
import { collectionPanelFilesAction, openMultipleFilesRemoveDialog } from "~/store/collection-panel/collection-panel-files/collection-panel-files-actions";
import { openCollectionPartialCopyDialog, openCollectionPartialCopyToSelectedCollectionDialog } from '~/store/collections/collection-partial-copy-actions';
-// import { DownloadCollectionFileAction } from "~/views-components/context-menu/actions/download-collection-file-action";
+// These action sets are used on the multi-select actions button.
export const readOnlyCollectionFilesActionSet: ContextMenuActionSet = [[
{
name: "Select all",
dispatch(collectionPanelFilesAction.UNSELECT_ALL_COLLECTION_FILES());
}
},
- // { // Disabled for now as we need to create backend version of this feature which will be less buggy
- // component: DownloadCollectionFileAction,
- // execute: () => { return; }
- // },
{
name: "Create a new collection with selected",
execute: dispatch => {
import { CollectionFileViewerAction } from '~/views-components/context-menu/actions/collection-file-viewer-action';
import { CollectionCopyToClipboardAction } from "../actions/collection-copy-to-clipboard-action";
-export const readOnlyCollectionFilesItemActionSet: ContextMenuActionSet = [[
- {
- component: DownloadCollectionFileAction,
- execute: () => { return; }
- },
+export const readOnlyCollectionDirectoryItemActionSet: ContextMenuActionSet = [[
{
component: CollectionFileViewerAction,
execute: () => { return; },
}
]];
-export const collectionFilesItemActionSet: ContextMenuActionSet = readOnlyCollectionFilesItemActionSet.concat([[
+export const readOnlyCollectionFileItemActionSet: ContextMenuActionSet = [[
+ {
+ component: DownloadCollectionFileAction,
+ execute: () => { return; }
+ },
+ ...readOnlyCollectionDirectoryItemActionSet.reduce((prev, next) => prev.concat(next), []),
+]];
+
+const writableActionSet: ContextMenuActionSet = [[
{
name: "Rename",
icon: RenameIcon,
dispatch<any>(openFileRemoveDialog(resource.uuid));
}
}
-]]);
\ No newline at end of file
+]];
+
+export const collectionDirectoryItemActionSet: ContextMenuActionSet = readOnlyCollectionDirectoryItemActionSet.concat(writableActionSet);
+
+// export const collectionDirectoryItemActionSet: ContextMenuActionSet = [[
+// ...readOnlyCollectionDirectoryItemActionSet.reduce((prev, next) => prev.concat(next), []),
+// ...writableActionSet.reduce((prev, next) => prev.concat(next), []),
+// ]];
+
+// export const collectionFileItemActionSet: ContextMenuActionSet = [[
+// ...readOnlyCollectionFileItemActionSet.reduce((prev, next) => prev.concat(next), []),
+// ...writableActionSet.reduce((prev, next) => prev.concat(next), []),
+// ]];
+
+
+export const collectionFileItemActionSet: ContextMenuActionSet = readOnlyCollectionFileItemActionSet.concat(writableActionSet);
\ No newline at end of file
const { resource } = state.contextMenu;
const currentCollectionUuid = state.collectionPanel.item ? state.collectionPanel.item.uuid : '';
const { keepWebServiceUrl } = state.auth.config;
- if (resource && (
- resource.menuKind === ContextMenuKind.COLLECTION_FILES_ITEM ||
- resource.menuKind === ContextMenuKind.READONLY_COLLECTION_FILES_ITEM)) {
+ if (resource && [
+ ContextMenuKind.COLLECTION_FILE_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_FILE_ITEM,
+ ContextMenuKind.COLLECTION_DIRECTORY_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_DIRECTORY_ITEM ].indexOf(resource.menuKind as ContextMenuKind) > -1) {
const file = getNodeValue(resource.uuid)(state.collectionPanelFiles);
if (file) {
return {
const mapStateToProps = (state: RootState) => {
const { resource } = state.contextMenu;
const currentCollectionUuid = state.collectionPanel.item ? state.collectionPanel.item.uuid : '';
- if (resource && (
- resource.menuKind === ContextMenuKind.COLLECTION_FILES_ITEM ||
- resource.menuKind === ContextMenuKind.READONLY_COLLECTION_FILES_ITEM)) {
+ if (resource && [
+ ContextMenuKind.COLLECTION_FILE_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_FILE_ITEM,
+ ContextMenuKind.COLLECTION_DIRECTORY_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_DIRECTORY_ITEM ].indexOf(resource.menuKind as ContextMenuKind) > -1) {
const file = getNodeValue(resource.uuid)(state.collectionPanelFiles);
if (file) {
const fileUrl = sanitizeToken(getInlineFileUrl(
const mapStateToProps = (state: RootState) => {
const { resource } = state.contextMenu;
const currentCollectionUuid = state.collectionPanel.item ? state.collectionPanel.item.uuid : '';
- if (resource && (
- resource.menuKind === ContextMenuKind.COLLECTION_FILES_ITEM ||
- resource.menuKind === ContextMenuKind.READONLY_COLLECTION_FILES_ITEM)) {
+ if (resource && [
+ ContextMenuKind.COLLECTION_FILE_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_FILE_ITEM,
+ ContextMenuKind.COLLECTION_DIRECTORY_ITEM,
+ ContextMenuKind.READONLY_COLLECTION_DIRECTORY_ITEM ].indexOf(resource.menuKind as ContextMenuKind) > -1) {
const file = getNodeValue(resource.uuid)(state.collectionPanelFiles);
if (file) {
return {
TRASH = "Trash",
COLLECTION_FILES = "CollectionFiles",
READONLY_COLLECTION_FILES = "ReadOnlyCollectionFiles",
- COLLECTION_FILES_ITEM = "CollectionFilesItem",
- READONLY_COLLECTION_FILES_ITEM = "ReadOnlyCollectionFilesItem",
+ COLLECTION_FILE_ITEM = "CollectionFileItem",
+ COLLECTION_DIRECTORY_ITEM = "CollectionDirectoryItem",
+ READONLY_COLLECTION_FILE_ITEM = "ReadOnlyCollectionFileItem",
+ READONLY_COLLECTION_DIRECTORY_ITEM = "ReadOnlyCollectionDirectoryItem",
COLLECTION_FILES_NOT_SELECTED = "CollectionFilesNotSelected",
COLLECTION = 'Collection',
COLLECTION_ADMIN = 'CollectionAdmin',