From 4eac2239b1ad7ac8b656643d9ef1349958424415 Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Sun, 12 Jun 2022 09:43:19 +0200 Subject: [PATCH] feat: add projects view tabs. --- .../Projects/containers/ProjectsDataTable.tsx | 8 ++++++++ .../Projects/containers/ProjectsList.tsx | 4 ++-- .../Projects/containers/ProjectsListProvider.tsx | 16 +++++++++++----- .../Projects/containers/ProjectsViewTabs.tsx | 11 ++++++++--- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/containers/Projects/containers/ProjectsDataTable.tsx b/src/containers/Projects/containers/ProjectsDataTable.tsx index 45a9b1960..4b42a947b 100644 --- a/src/containers/Projects/containers/ProjectsDataTable.tsx +++ b/src/containers/Projects/containers/ProjectsDataTable.tsx @@ -54,6 +54,13 @@ function ProjectsDataTable({ // Handle cell click. const handleCellClick = (cell, event) => {}; + // Handle edit project. + const handleEditProject = (project) => { + openDialog('project-form', { + projectId: project.id, + }); + }; + // Handle new task button click. const handleNewTaskButtonClick = () => { openDialog('task-form'); @@ -82,6 +89,7 @@ function ProjectsDataTable({ onColumnResizing={handleColumnResizing} size={projectsTableSize} payload={{ + onEdit: handleEditProject, onNewTask: handleNewTaskButtonClick, }} /> diff --git a/src/containers/Projects/containers/ProjectsList.tsx b/src/containers/Projects/containers/ProjectsList.tsx index 9de165c9d..4f1716c8a 100644 --- a/src/containers/Projects/containers/ProjectsList.tsx +++ b/src/containers/Projects/containers/ProjectsList.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { DashboardPageContent, DashboardContentTable } from 'components'; import ProjectsActionsBar from './ProjectsActionsBar'; -// import ProjectsViewTabs from './ProjectsViewTabs'; +import ProjectsViewTabs from './ProjectsViewTabs'; import ProjectsDataTable from './ProjectsDataTable'; import withProjects from './withProjects'; @@ -38,7 +38,7 @@ function ProjectsList({ > - {/* */} + diff --git a/src/containers/Projects/containers/ProjectsListProvider.tsx b/src/containers/Projects/containers/ProjectsListProvider.tsx index 6ec170f45..4b2cc5412 100644 --- a/src/containers/Projects/containers/ProjectsListProvider.tsx +++ b/src/containers/Projects/containers/ProjectsListProvider.tsx @@ -1,21 +1,27 @@ +//@ts-nocheck import React from 'react'; +import { useResourceViews, useResourceMeta } from 'hooks/query'; import DashboardInsider from '../../../components/Dashboard/DashboardInsider'; - -const ProjectsListContext = React.createContext({}); +const ProjectsListContext = React.createContext(); /** * Projects list data provider. * @returns */ function ProjectsListProvider({ query, tableStateChanged, ...props }) { - // provider payload. + // Fetch accounts resource views and fields. + const { data: projectsViews, isLoading: isViewsLoading } = + useResourceViews('projects'); - const provider = {}; + // provider payload. + const provider = { + projectsViews, + }; return ( diff --git a/src/containers/Projects/containers/ProjectsViewTabs.tsx b/src/containers/Projects/containers/ProjectsViewTabs.tsx index f13cf4606..1a9f137bc 100644 --- a/src/containers/Projects/containers/ProjectsViewTabs.tsx +++ b/src/containers/Projects/containers/ProjectsViewTabs.tsx @@ -1,3 +1,4 @@ +//@ts-nocheck import React from 'react'; import { Alignment, Navbar, NavbarGroup } from '@blueprintjs/core'; @@ -5,6 +6,7 @@ import { DashboardViewsTabs } from 'components'; import withProjects from './withProjects'; import withProjectsActions from './withProjectsActions'; +import { useProjectsListContext } from './ProjectsListProvider'; import { compose, transfromViewsToTabs } from 'utils'; @@ -19,8 +21,11 @@ function ProjectsViewTabs({ // #withProjectsActions setProjectsTableState, }) { + // Projects list context. + const { projectsViews } = useProjectsListContext(); + // Projects views. - const tabs = transfromViewsToTabs([]); + const tabs = transfromViewsToTabs(projectsViews); // Handle tab change. const handleTabsChange = (viewSlug) => { @@ -32,7 +37,7 @@ function ProjectsViewTabs({ @@ -46,4 +51,4 @@ export default compose( projectsCurrentView: projectsTableState?.viewSlug, })), withProjectsActions, -)(); +)(ProjectsViewTabs);