Merge branch '21357-favorites-names'
[arvados.git] / services / workbench2 / src / store / projects / project-lock-actions.ts
index 98ebb3849535352769cc32e50fbf0ddc954c0318..28e934d1f85ff988f5d5fc73df6d2faadca3d450 100644 (file)
@@ -4,31 +4,34 @@
 
 import { Dispatch } from "redux";
 import { ServiceRepository } from "services/services";
-import { projectPanelActions } from "store/project-panel/project-panel-action";
+import { projectPanelActions } from "store/project-panel/project-panel-action-bind";
 import { loadResource } from "store/resources/resources-actions";
 import { RootState } from "store/store";
+import { MultiSelectMenuActionNames } from "views-components/multiselect-toolbar/ms-menu-actions";
+import { addDisabledButton, removeDisabledButton } from "store/multiselect/multiselect-actions";
 
-export const freezeProject = (uuid: string) =>
-    async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
-        const userUUID = getState().auth.user!.uuid;
+export const freezeProject = (uuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+    dispatch<any>(addDisabledButton(MultiSelectMenuActionNames.FREEZE_PROJECT))
+    const userUUID = getState().auth.user!.uuid;
+    
+    const updatedProject = await services.projectService.update(uuid, {
+        frozenByUuid: userUUID,
+    });
+    
+    dispatch(projectPanelActions.REQUEST_ITEMS());
+    dispatch<any>(loadResource(uuid, false));
+    dispatch<any>(removeDisabledButton(MultiSelectMenuActionNames.FREEZE_PROJECT))
+    return updatedProject;
+};
 
-        const updatedProject = await services.projectService.update(uuid, {
-            frozenByUuid: userUUID
-        });
+export const unfreezeProject = (uuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+    dispatch<any>(addDisabledButton(MultiSelectMenuActionNames.FREEZE_PROJECT))
+    const updatedProject = await services.projectService.update(uuid, {
+        frozenByUuid: null,
+    });
 
-        dispatch(projectPanelActions.REQUEST_ITEMS());
-        dispatch<any>(loadResource(uuid, false));
-        return updatedProject;
-    };
-
-export const unfreezeProject = (uuid: string) =>
-    async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
-
-        const updatedProject = await services.projectService.update(uuid, {
-            frozenByUuid: null
-        });
-
-        dispatch(projectPanelActions.REQUEST_ITEMS());
-        dispatch<any>(loadResource(uuid, false));
-        return updatedProject;
-    };
\ No newline at end of file
+    dispatch(projectPanelActions.REQUEST_ITEMS());
+    dispatch<any>(loadResource(uuid, false));
+    dispatch<any>(removeDisabledButton(MultiSelectMenuActionNames.FREEZE_PROJECT))
+    return updatedProject;
+};