Merge branch 'master' into 13887-extract-common-functionality-from-project-and-favori...
[arvados.git] / src / views-components / context-menu / action-sets / project-action-set.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { ContextMenuActionSet } from "../context-menu-action-set";
6 import { projectActions } from "../../../store/project/project-action";
7 import { NewProjectIcon } from "../../../components/icon/icon";
8 import { ToggleFavoriteAction } from "./favorite-action";
9 import { toggleFavorite } from "../../../store/favorites/favorites-actions";
10 import { dataExplorerActions } from "../../../store/data-explorer/data-explorer-action";
11 import { FAVORITE_PANEL_ID } from "../../../views/favorite-panel/favorite-panel";
12
13 export const projectActionSet: ContextMenuActionSet = [[{
14     icon: NewProjectIcon,
15     name: "New project",
16     execute: (dispatch, resource) => {
17         dispatch(projectActions.OPEN_PROJECT_CREATOR({ ownerUuid: resource.uuid }));
18     }
19 }, {
20     component: ToggleFavoriteAction,
21     execute: (dispatch, resource) => {
22         dispatch<any>(toggleFavorite(resource)).then(() => {
23             dispatch<any>(dataExplorerActions.REQUEST_ITEMS({ id : FAVORITE_PANEL_ID }));
24         });
25     }
26 }]];