Skip to content

Commit

Permalink
Remove the DS project list toggle
Browse files Browse the repository at this point in the history
  • Loading branch information
ppadti committed Jul 22, 2024
1 parent c0cacad commit b50a883
Show file tree
Hide file tree
Showing 8 changed files with 15 additions and 123 deletions.
4 changes: 0 additions & 4 deletions frontend/src/__tests__/cypress/cypress/pages/projects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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', () => {
Expand Down
12 changes: 2 additions & 10 deletions frontend/src/concepts/projects/ProjectsContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ const projectSorter = (projectA: ProjectKind, projectB: ProjectKind) =>
type ProjectFetchState = FetchState<ProjectKind[]>;
type ProjectsContextType = {
projects: ProjectKind[];
dataScienceProjects: ProjectKind[];
modelServingProjects: ProjectKind[];
/** eg. Terminating state, etc */
nonActiveProjects: ProjectKind[];
Expand All @@ -33,7 +32,6 @@ type ProjectsContextType = {

export const ProjectsContext = React.createContext<ProjectsContextType>({
projects: [],
dataScienceProjects: [],
modelServingProjects: [],
nonActiveProjects: [],
preferredProject: null,
Expand All @@ -57,11 +55,10 @@ const ProjectsContextProvider: React.FC<ProjectsProviderProps> = ({ 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[];
}>(
Expand All @@ -70,9 +67,6 @@ const ProjectsContextProvider: React.FC<ProjectsProviderProps> = ({ 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);
Expand All @@ -85,7 +79,7 @@ const ProjectsContextProvider: React.FC<ProjectsProviderProps> = ({ children })

return states;
},
{ projects: [], dataScienceProjects: [], modelServingProjects: [], nonActiveProjects: [] },
{ projects: [], modelServingProjects: [], nonActiveProjects: [] },
),
[projectData, dashboardNamespace],
);
Expand Down Expand Up @@ -125,7 +119,6 @@ const ProjectsContextProvider: React.FC<ProjectsProviderProps> = ({ children })
const contextValue = React.useMemo(
() => ({
projects: projects.toSorted(projectSorter),
dataScienceProjects: dataScienceProjects.toSorted(projectSorter),
modelServingProjects: modelServingProjects.toSorted(projectSorter),
nonActiveProjects: nonActiveProjects.toSorted(projectSorter),
preferredProject,
Expand All @@ -136,7 +129,6 @@ const ProjectsContextProvider: React.FC<ProjectsProviderProps> = ({ children })
}),
[
projects,
dataScienceProjects,
modelServingProjects,
nonActiveProjects,
preferredProject,
Expand Down
10 changes: 3 additions & 7 deletions frontend/src/pages/projects/screens/projects/ProjectListView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand All @@ -18,18 +17,15 @@ import ManageProjectModal from './ManageProjectModal';

type ProjectListViewProps = {
allowCreate: boolean;
scope: ProjectScope;
};

const ProjectListView: React.FC<ProjectListViewProps> = ({ allowCreate, scope }) => {
const ProjectListView: React.FC<ProjectListViewProps> = ({ allowCreate }) => {
const { dashboardConfig } = useAppContext();
const { projects, dataScienceProjects } = React.useContext(ProjectsContext);
const { projects } = React.useContext(ProjectsContext);
const navigate = useNavigate();
const [searchType, setSearchType] = React.useState<SearchType>(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;
}
Expand Down

This file was deleted.

41 changes: 6 additions & 35 deletions frontend/src/pages/projects/screens/projects/ProjectTableRow.tsx
Original file line number Diff line number Diff line change
@@ -1,24 +1,15 @@
import * as React from 'react';
import {
Button,
Flex,
FlexItem,
Spinner,
Text,
TextVariants,
Timestamp,
} from '@patternfly/react-core';
import { Button, Spinner, Text, TextVariants, Timestamp } 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';
import useProjectNotebookStates from '~/pages/projects/notebook/useProjectNotebookStates';
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';

Expand Down Expand Up @@ -56,30 +47,10 @@ const ProjectTableRow: React.FC<ProjectTableRowProps> = ({
>
{index === 0 ? (
<Td dataLabel="Name" rowSpan={notebookStates.length || 1}>
<Flex
spaceItems={{ default: 'spaceItemsXs' }}
alignItems={{ default: 'alignItemsCenter' }}
>
{project.metadata.labels?.[KnownLabels.DASHBOARD_RESOURCE] && (
<FlexItem style={{ display: 'flex' }} data-testid="ds-project-image">
<img
style={{ height: 24 }}
src={typedObjectImage(ProjectObjectType.project)}
alt=""
/>
</FlexItem>
)}
<FlexItem>
<ResourceNameTooltip resource={project}>
<ProjectLink project={project} />
</ResourceNameTooltip>
</FlexItem>
</Flex>
{owner && (
<Text component={TextVariants.small} style={{ marginLeft: 28 }}>
{owner}
</Text>
)}
<ResourceNameTooltip resource={project}>
<ProjectLink project={project} />
</ResourceNameTooltip>
{owner && <Text component={TextVariants.small}>{owner}</Text>}
</Td>
) : null}
{index === 0 ? (
Expand Down
18 changes: 3 additions & 15 deletions frontend/src/pages/projects/screens/projects/ProjectView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -18,11 +15,7 @@ const accessReviewResource: AccessReviewResourceAttributes = {
};

const ProjectView: React.FC = () => {
const [scope, setScope] = useBrowserStorage<ProjectScope>(
'odh.dashboard.project.scope',
ProjectScope.DS_PROJECTS,
);
const { projects, dataScienceProjects } = React.useContext(ProjectsContext);
const { projects } = React.useContext(ProjectsContext);
const [allowCreate, rbacLoaded] = useAccessReview(accessReviewResource);

return (
Expand All @@ -33,18 +26,13 @@ const ProjectView: React.FC = () => {
? `View your existing projects${allowCreate ? ' or create new projects' : ''}.`
: undefined
}
headerContent={<ProjectScopeSelect selection={scope} setSelection={setScope} />}
loaded={rbacLoaded}
empty={
scope === ProjectScope.ALL_PROJECTS
? projects.length === 0
: dataScienceProjects.length === 0
}
empty={projects.length === 0}
emptyStatePage={<EmptyProjects allowCreate={allowCreate} />}
provideChildrenPadding
removeChildrenTopPadding
>
<ProjectListView allowCreate={allowCreate} scope={scope} />
<ProjectListView allowCreate={allowCreate} />
</ApplicationsPage>
);
};
Expand Down
5 changes: 0 additions & 5 deletions frontend/src/pages/projects/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,3 @@ export enum NamespaceApplicationCase {
*/
KSERVE_PROMOTION,
}

export enum ProjectScope {
DS_PROJECTS = 'Data science projects',
ALL_PROJECTS = 'All available projects',
}

0 comments on commit b50a883

Please sign in to comment.