1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { bindDataExplorerActions } from "../data-explorer/data-explorer-action";
6 import { propertiesActions } from "~/store/properties/properties-actions";
7 import { Dispatch } from 'redux';
8 import { ServiceRepository } from "~/services/services";
9 import { RootState } from '~/store/store';
10 import { getProperty } from "~/store/properties/properties";
11 export const PROJECT_PANEL_ID = "projectPanel";
12 export const PROJECT_PANEL_CURRENT_UUID = "projectPanelCurrentUuid";
13 export const projectPanelActions = bindDataExplorerActions(PROJECT_PANEL_ID);
15 export const openProjectPanel = (projectUuid: string) =>
16 (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
17 dispatch(propertiesActions.SET_PROPERTY({ key: PROJECT_PANEL_CURRENT_UUID, value: projectUuid }));
18 dispatch(projectPanelActions.REQUEST_ITEMS());
21 export const getProjectPanelCurrentUuid = (state: RootState) => getProperty<string>(PROJECT_PANEL_CURRENT_UUID)(state.properties);