15768: standardized types between identitical functions Arvados-DCO-1.1-Signed-off...
[arvados-workbench2.git] / src / components / multiselectToolbar / MultiselectToolbar.tsx
index faf65db3d82af61cee31d561b69b0fa38343846a..47fd380e07fb560a32a4c6426709a3df57d839e0 100644 (file)
@@ -176,11 +176,20 @@ function mapDispatchToProps(dispatch: Dispatch) {
     return {
         executeMulti: (selectedAction: ContextMenuAction, checkedList: TCheckedList, resources: ResourcesState): void => {
             const kindGroups = groupByKind(checkedList, resources);
-            for (const kind in kindGroups) {
-                const actionSet = kindToActionSet[kind];
+            if (selectedAction.name === "Move to") {
+                const firstResource = getResource(selectedToArray(checkedList)[0])(resources) as Resource;
+
+                const actionSet = kindToActionSet[firstResource.kind];
                 const action = findActionByName(selectedAction.name as string, actionSet);
 
-                if (action) action.execute(dispatch, kindGroups[kind]);
+                if (action) action.execute(dispatch, kindGroups[firstResource.kind]);
+            } else {
+                for (const kind in kindGroups) {
+                    const actionSet = kindToActionSet[kind];
+                    const action = findActionByName(selectedAction.name as string, actionSet);
+
+                    if (action) action.execute(dispatch, kindGroups[kind]);
+                }
             }
         },
     };