21128: Added button disable during async actions Arvados-DCO-1.1-Signed-off-by: Lisa...
[arvados-workbench2.git] / src / store / multiselect / multiselect-actions.tsx
index 80ff543f2dcdbbe20bacfbb21efece103f0f57c4..091d3ef611eddb73bb17ada9d67d198aaeb6cb1e 100644 (file)
@@ -11,7 +11,9 @@ export const multiselectActionContants = {
     SELECT_ONE: 'SELECT_ONE',
     DESELECT_ONE: "DESELECT_ONE",
     TOGGLE_ONE: 'TOGGLE_ONE',
-    SET_SELECTED_UUID: 'SET_SELECTED_UUID'
+    SET_SELECTED_UUID: 'SET_SELECTED_UUID',
+    ADD_DISABLED: 'ADD_DISABLED',
+    REMOVE_DISABLED: 'REMOVE_DISABLED',
 };
 
 export const toggleMSToolbar = (isVisible: boolean) => {
@@ -51,11 +53,25 @@ export const setSelectedUuid = (uuid: string | null) => {
     };
 };
 
+export const setDisabledButton = (buttonName: string) => {
+    return dispatch => {
+        dispatch({ type: multiselectActionContants.ADD_DISABLED, payload: buttonName });
+    };
+};
+
+export const removeDisabledButton = (buttonName: string) => {
+    return dispatch => {
+        dispatch({ type: multiselectActionContants.REMOVE_DISABLED, payload: buttonName });
+    };
+};
+
 export const multiselectActions = {
     toggleMSToolbar,
     setCheckedListOnStore,
     selectOne,
     deselectOne,
     toggleOne,
-    setSelectedUuid
+    setSelectedUuid,
+    setDisabledButton,
+    removeDisabledButton,
 };