diff --git a/frontend/src/__tests__/cypress/cypress/pages/projects.ts b/frontend/src/__tests__/cypress/cypress/pages/projects.ts index 98ab5b18e1..3bcdad54a3 100644 --- a/frontend/src/__tests__/cypress/cypress/pages/projects.ts +++ b/frontend/src/__tests__/cypress/cypress/pages/projects.ts @@ -20,10 +20,6 @@ class NotebookRow extends TableRow { } class ProjectRow extends TableRow { - shouldHaveProjectIcon() { - return this.find().findByTestId('ds-project-image').should('exist'); - } - findEnableSwitch() { return this.find().pfSwitch('notebook-status-switch'); } diff --git a/frontend/src/__tests__/cypress/cypress/tests/mocked/projects/projectList.cy.ts b/frontend/src/__tests__/cypress/cypress/tests/mocked/projects/projectList.cy.ts index f2ccb327a9..813491579c 100644 --- a/frontend/src/__tests__/cypress/cypress/tests/mocked/projects/projectList.cy.ts +++ b/frontend/src/__tests__/cypress/cypress/tests/mocked/projects/projectList.cy.ts @@ -73,8 +73,7 @@ describe('Data science projects details', () => { initIntercepts(); projectListPage.visit(); projectListPage.shouldHaveProjects(); - const projectRow = projectListPage.getProjectRow('Test Project'); - projectRow.shouldHaveProjectIcon(); + projectListPage.getProjectRow('Test Project').find().should('exist'); }); it('should delete project', () => { diff --git a/frontend/src/concepts/projects/ProjectsContext.tsx b/frontend/src/concepts/projects/ProjectsContext.tsx index cb8219ab35..6f9a12ab71 100644 --- a/frontend/src/concepts/projects/ProjectsContext.tsx +++ b/frontend/src/concepts/projects/ProjectsContext.tsx @@ -12,7 +12,6 @@ const projectSorter = (projectA: ProjectKind, projectB: ProjectKind) => type ProjectFetchState = FetchState; type ProjectsContextType = { projects: ProjectKind[]; - dataScienceProjects: ProjectKind[]; modelServingProjects: ProjectKind[]; /** eg. Terminating state, etc */ nonActiveProjects: ProjectKind[]; @@ -33,7 +32,6 @@ type ProjectsContextType = { export const ProjectsContext = React.createContext({ projects: [], - dataScienceProjects: [], modelServingProjects: [], nonActiveProjects: [], preferredProject: null, @@ -57,11 +55,10 @@ const ProjectsContextProvider: React.FC = ({ children }) const [projectData, loaded, loadError] = useProjects(); const { dashboardNamespace } = useDashboardNamespace(); - const { projects, dataScienceProjects, modelServingProjects, nonActiveProjects } = React.useMemo( + const { projects, modelServingProjects, nonActiveProjects } = React.useMemo( () => projectData.reduce<{ projects: ProjectKind[]; - dataScienceProjects: ProjectKind[]; modelServingProjects: ProjectKind[]; nonActiveProjects: ProjectKind[]; }>( @@ -70,9 +67,6 @@ const ProjectsContextProvider: React.FC = ({ children }) if (project.status?.phase === 'Active') { // Project that is active states.projects.push(project); - if (project.metadata.labels?.[KnownLabels.DASHBOARD_RESOURCE]) { - states.dataScienceProjects.push(project); - } if (project.metadata.labels?.[KnownLabels.MODEL_SERVING_PROJECT]) { // Model Serving active projects states.modelServingProjects.push(project); @@ -85,7 +79,7 @@ const ProjectsContextProvider: React.FC = ({ children }) return states; }, - { projects: [], dataScienceProjects: [], modelServingProjects: [], nonActiveProjects: [] }, + { projects: [], modelServingProjects: [], nonActiveProjects: [] }, ), [projectData, dashboardNamespace], ); @@ -125,7 +119,6 @@ const ProjectsContextProvider: React.FC = ({ children }) const contextValue = React.useMemo( () => ({ projects: projects.toSorted(projectSorter), - dataScienceProjects: dataScienceProjects.toSorted(projectSorter), modelServingProjects: modelServingProjects.toSorted(projectSorter), nonActiveProjects: nonActiveProjects.toSorted(projectSorter), preferredProject, @@ -136,7 +129,6 @@ const ProjectsContextProvider: React.FC = ({ children }) }), [ projects, - dataScienceProjects, modelServingProjects, nonActiveProjects, preferredProject, diff --git a/frontend/src/pages/projects/screens/projects/ProjectListView.tsx b/frontend/src/pages/projects/screens/projects/ProjectListView.tsx index f4e45a2abb..94566e6442 100644 --- a/frontend/src/pages/projects/screens/projects/ProjectListView.tsx +++ b/frontend/src/pages/projects/screens/projects/ProjectListView.tsx @@ -8,7 +8,6 @@ import { getProjectOwner } from '~/concepts/projects/utils'; import { useAppContext } from '~/app/AppContext'; import LaunchJupyterButton from '~/pages/projects/screens/projects/LaunchJupyterButton'; import { ProjectsContext } from '~/concepts/projects/ProjectsContext'; -import { ProjectScope } from '~/pages/projects/types'; import ProjectTableRow from '~/pages/projects/screens/projects/ProjectTableRow'; import { getDisplayNameFromK8sResource } from '~/concepts/k8s/utils'; import NewProjectButton from './NewProjectButton'; @@ -18,18 +17,15 @@ import ManageProjectModal from './ManageProjectModal'; type ProjectListViewProps = { allowCreate: boolean; - scope: ProjectScope; }; -const ProjectListView: React.FC = ({ allowCreate, scope }) => { +const ProjectListView: React.FC = ({ allowCreate }) => { const { dashboardConfig } = useAppContext(); - const { projects, dataScienceProjects } = React.useContext(ProjectsContext); + const { projects } = React.useContext(ProjectsContext); const navigate = useNavigate(); const [searchType, setSearchType] = React.useState(SearchType.NAME); const [search, setSearch] = React.useState(''); - const filteredProjects = ( - scope === ProjectScope.ALL_PROJECTS ? projects : dataScienceProjects - ).filter((project) => { + const filteredProjects = projects.filter((project) => { if (!search) { return true; } diff --git a/frontend/src/pages/projects/screens/projects/ProjectScopeSelect.tsx b/frontend/src/pages/projects/screens/projects/ProjectScopeSelect.tsx deleted file mode 100644 index 98ca049d47..0000000000 --- a/frontend/src/pages/projects/screens/projects/ProjectScopeSelect.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import * as React from 'react'; -import { Select, SelectOption } from '@patternfly/react-core/deprecated'; -import { isInEnum } from '~/typeHelpers'; -import { ProjectScope } from '~/pages/projects/types'; - -type ProjectScopeSelectProps = { - selection: ProjectScope; - setSelection: (selection: ProjectScope) => void; -}; - -const isProjectScope = isInEnum(ProjectScope); - -const ProjectScopeSelect: React.FC = ({ selection, setSelection }) => { - const [isOpen, setOpen] = React.useState(false); - return ( - - ); -}; - -export default ProjectScopeSelect; diff --git a/frontend/src/pages/projects/screens/projects/ProjectTableRow.tsx b/frontend/src/pages/projects/screens/projects/ProjectTableRow.tsx index e6a3268331..89d553423b 100644 --- a/frontend/src/pages/projects/screens/projects/ProjectTableRow.tsx +++ b/frontend/src/pages/projects/screens/projects/ProjectTableRow.tsx @@ -10,7 +10,7 @@ import { } from '@patternfly/react-core'; import { ActionsColumn, Td, Tr } from '@patternfly/react-table'; import { useNavigate } from 'react-router-dom'; -import { KnownLabels, ProjectKind } from '~/k8sTypes'; +import { ProjectKind } from '~/k8sTypes'; import useProjectTableRowItems from '~/pages/projects/screens/projects/useProjectTableRowItems'; import ResourceNameTooltip from '~/components/ResourceNameTooltip'; import { getProjectOwner } from '~/concepts/projects/utils'; @@ -18,7 +18,6 @@ import useProjectNotebookStates from '~/pages/projects/notebook/useProjectNotebo import NotebookRouteLink from '~/pages/projects/notebook/NotebookRouteLink'; import CanEnableElyraPipelinesCheck from '~/concepts/pipelines/elyra/CanEnableElyraPipelinesCheck'; import NotebookStateStatus from '~/pages/projects/screens/projects/NotebookStateStatus'; -import { ProjectObjectType, typedObjectImage } from '~/concepts/design/utils'; import { getDisplayNameFromK8sResource } from '~/concepts/k8s/utils'; import ProjectLink from './ProjectLink'; @@ -60,15 +59,6 @@ const ProjectTableRow: React.FC = ({ spaceItems={{ default: 'spaceItemsXs' }} alignItems={{ default: 'alignItemsCenter' }} > - {project.metadata.labels?.[KnownLabels.DASHBOARD_RESOURCE] && ( - - - - )} diff --git a/frontend/src/pages/projects/screens/projects/ProjectView.tsx b/frontend/src/pages/projects/screens/projects/ProjectView.tsx index 7e9e27c25a..3441a8312d 100644 --- a/frontend/src/pages/projects/screens/projects/ProjectView.tsx +++ b/frontend/src/pages/projects/screens/projects/ProjectView.tsx @@ -3,13 +3,10 @@ import ApplicationsPage from '~/pages/ApplicationsPage'; import { useAccessReview } from '~/api'; import { AccessReviewResourceAttributes } from '~/k8sTypes'; import { ProjectsContext } from '~/concepts/projects/ProjectsContext'; -import { useBrowserStorage } from '~/components/browserStorage'; -import { ProjectScope } from '~/pages/projects/types'; import { ProjectObjectType } from '~/concepts/design/utils'; import TitleWithIcon from '~/concepts/design/TitleWithIcon'; import EmptyProjects from './EmptyProjects'; import ProjectListView from './ProjectListView'; -import ProjectScopeSelect from './ProjectScopeSelect'; const accessReviewResource: AccessReviewResourceAttributes = { group: 'project.openshift.io', @@ -18,11 +15,7 @@ const accessReviewResource: AccessReviewResourceAttributes = { }; const ProjectView: React.FC = () => { - const [scope, setScope] = useBrowserStorage( - 'odh.dashboard.project.scope', - ProjectScope.DS_PROJECTS, - ); - const { projects, dataScienceProjects } = React.useContext(ProjectsContext); + const { projects } = React.useContext(ProjectsContext); const [allowCreate, rbacLoaded] = useAccessReview(accessReviewResource); return ( @@ -33,18 +26,13 @@ const ProjectView: React.FC = () => { ? `View your existing projects${allowCreate ? ' or create new projects' : ''}.` : undefined } - headerContent={} loaded={rbacLoaded} - empty={ - scope === ProjectScope.ALL_PROJECTS - ? projects.length === 0 - : dataScienceProjects.length === 0 - } + empty={projects.length === 0} emptyStatePage={} provideChildrenPadding removeChildrenTopPadding > - + ); }; diff --git a/frontend/src/pages/projects/types.ts b/frontend/src/pages/projects/types.ts index ff238eaa44..4ffdceb253 100644 --- a/frontend/src/pages/projects/types.ts +++ b/frontend/src/pages/projects/types.ts @@ -163,8 +163,3 @@ export enum NamespaceApplicationCase { */ KSERVE_PROMOTION, } - -export enum ProjectScope { - DS_PROJECTS = 'Data science projects', - ALL_PROJECTS = 'All available projects', -}