-export const collectionFilesItemActionSet: ContextMenuActionSet = [[{
- name: "Rename",
- icon: RenameIcon,
- execute: (dispatch, resource) => {
- dispatch<any>(openRenameFileDialog({ name: resource.name, id: resource.uuid }));
- }
-}, {
- component: DownloadCollectionFileAction,
- execute: () => { return; }
-}, {
- name: "Remove",
- icon: RemoveIcon,
- execute: (dispatch, resource) => {
- dispatch<any>(openFileRemoveDialog(resource.uuid));
- }
-}]];
+export const readOnlyCollectionFileItemActionSet: ContextMenuActionSet = [
+ [
+ {
+ component: DownloadCollectionFileAction,
+ execute: () => {
+ return;
+ },
+ },
+ ...readOnlyCollectionDirectoryItemActionSet.reduce((prev, next) => prev.concat(next), []),
+ ],
+];
+
+const writableActionSet: ContextMenuActionSet = [
+ [
+ {
+ name: 'Rename',
+ icon: RenameIcon,
+ execute: (dispatch, resources) => {
+ resources.forEach((resource) =>
+ dispatch<any>(
+ openRenameFileDialog({
+ name: resource.name,
+ id: resource.uuid,
+ path: resource.uuid.split('/').slice(1).join('/'),
+ })
+ )
+ );
+ },
+ },
+ {
+ name: 'Remove',
+ icon: RemoveIcon,
+ execute: (dispatch, resources) => {
+ resources.forEach((resource) => dispatch<any>(openFileRemoveDialog(resource.uuid)));
+ },
+ },
+ ],
+];
+
+export const collectionDirectoryItemActionSet: ContextMenuActionSet = readOnlyCollectionDirectoryItemActionSet.concat(writableActionSet);
+
+export const collectionFileItemActionSet: ContextMenuActionSet = readOnlyCollectionFileItemActionSet.concat(writableActionSet);