X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/4b259f71b418af769c0edad5d36ad519c9a22864..c956bd958d3fb90ce51d758fb99d1d88cf589062:/src/views-components/project-tree-picker/project-tree-picker.tsx diff --git a/src/views-components/project-tree-picker/project-tree-picker.tsx b/src/views-components/project-tree-picker/project-tree-picker.tsx index c4795e1b..9143c47a 100644 --- a/src/views-components/project-tree-picker/project-tree-picker.tsx +++ b/src/views-components/project-tree-picker/project-tree-picker.tsx @@ -7,21 +7,22 @@ import { Dispatch } from "redux"; import { connect } from "react-redux"; import { Typography } from "@material-ui/core"; import { TreePicker } from "../tree-picker/tree-picker"; -import { TreeProps, TreeItem, TreeItemStatus } from "../../components/tree/tree"; -import { ProjectResource } from "../../models/project"; -import { treePickerActions } from "../../store/tree-picker/tree-picker-actions"; -import { ListItemTextIcon } from "../../components/list-item-text-icon/list-item-text-icon"; -import { ProjectIcon } from "../../components/icon/icon"; -import { createTreePickerNode } from "../../store/tree-picker/tree-picker"; -import { RootState } from "../../store/store"; -import { ServiceRepository } from "../../services/services"; -import { FilterBuilder } from "../../common/api/filter-builder"; +import { TreeProps, TreeItem, TreeItemStatus } from "~/components/tree/tree"; +import { ProjectResource } from "~/models/project"; +import { treePickerActions } from "~/store/tree-picker/tree-picker-actions"; +import { ListItemTextIcon } from "~/components/list-item-text-icon/list-item-text-icon"; +import { ProjectIcon } from "~/components/icon/icon"; +import { createTreePickerNode } from "~/store/tree-picker/tree-picker"; +import { RootState } from "~/store/store"; +import { ServiceRepository } from "~/services/services"; +import { FilterBuilder } from "~/common/api/filter-builder"; type ProjectTreePickerProps = Pick, 'toggleItemActive' | 'toggleItemOpen'>; -const mapDispatchToProps = (dispatch: Dispatch): ProjectTreePickerProps => ({ +const mapDispatchToProps = (dispatch: Dispatch, props: {onChange: (projectUuid: string) => void}): ProjectTreePickerProps => ({ toggleItemActive: id => { dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ id })); + props.onChange(id); }, toggleItemOpen: (id, status) => { status === TreeItemStatus.INITIAL @@ -31,11 +32,13 @@ const mapDispatchToProps = (dispatch: Dispatch): ProjectTreePickerProps => ({ }); export const ProjectTreePicker = connect(undefined, mapDispatchToProps)((props: ProjectTreePickerProps) => -
- +
+ Select a project - +
+ +
); // TODO: move action creator to store directory @@ -45,9 +48,9 @@ export const loadProjectTreePickerProjects = (id: string) => const ownerUuid = id.length === 0 ? services.authService.getUuid() || '' : id; - const filters = FilterBuilder - .create() - .addEqual('ownerUuid', ownerUuid); + const filters = new FilterBuilder() + .addEqual('ownerUuid', ownerUuid) + .getFilters(); const { items } = await services.projectService.list({ filters }); @@ -69,4 +72,4 @@ const receiveProjectTreePickerData = (id: string, projects: ProjectResource[]) = nodes: projects.map(project => createTreePickerNode({ id: project.uuid, value: project })) })); dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id })); - }; \ No newline at end of file + };