notebooks/workspaces/frontend
Jenny 7fa255c027 fix(ws): updates to table columns
Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

add icon to workspaceKindsColumns interface

fix(ws): Update table with expandable variant and fix styles

fix secondary border in menu toggle

fix menu toggle expanded text color and update icon to use status prop

remove unused files

add cluster storage description list group

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

Add title and packages

revert form label styling, revert homeVol column

fix linting

fix lint

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

Add PR code suggestions, remove unused interfaces

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

remove unused import

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

fix filterWorkspacesTest

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

fix(ws): apply feedback to fix Cypress tests

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

Update tests, add width to defineDataFields, remove duplicate WorkspaceTableColumnKeys type

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

fix wrapping behavior

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

Replace Th values with mapped instance

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

revert column order

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

remove hardcoded package label instances

Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com>

delete cursor rule
2025-07-07 14:45:14 -04:00
..
.husky chore(ws): lint frontend on each commit (#440) 2025-06-25 10:51:16 +00:00
.vscode feat(ws): add fallback mechanism to broken images (#448) 2025-06-27 13:46:17 +00:00
__mocks__ feat(ws): initial commit for frontend (#19) 2024-06-28 00:48:41 +00:00
config feat(ws): create new script to start frontend returning mocked data (#314) 2025-05-13 13:11:21 +00:00
eslint-local-rules chore(ws): show ESLint errors from local rules on IDE (#439) 2025-06-25 10:52:16 +00:00
src fix(ws): updates to table columns 2025-07-07 14:45:14 -04:00
.env.cypress.mock chore(ws): add cypress structure and initial tests for frontend (#73) 2024-11-08 19:59:13 +00:00
.eslintignore chore(ws): Setup eslint and jest configurations (#141) 2024-12-03 15:21:59 +00:00
.eslintrc.js chore(ws): show ESLint errors from local rules on IDE (#439) 2025-06-25 10:52:16 +00:00
.gitignore feat(ws): Notebooks v2 Create Workspace Kind (#365) 2025-06-25 10:50:15 +00:00
.prettierignore feat(ws): Notebooks 2.0 // Frontend // Workspaces table // Live mockup (#140) 2024-12-03 13:47:58 +00:00
.prettierrc feat(ws): Notebooks 2.0 // Frontend // Workspaces table // Live mockup (#140) 2024-12-03 13:47:58 +00:00
OWNERS chore: add OWNERS files with reviewers and labels (#450) 2025-06-26 21:42:17 +00:00
README.md feat(ws): create new script to start frontend returning mocked data (#314) 2025-05-13 13:11:21 +00:00
jest.config.js feat(ws): create new script to start frontend returning mocked data (#314) 2025-05-13 13:11:21 +00:00
package-lock.json chore(ws): show ESLint errors from local rules on IDE (#439) 2025-06-25 10:52:16 +00:00
package.json chore(ws): show ESLint errors from local rules on IDE (#439) 2025-06-25 10:52:16 +00:00
tsconfig.json feat(ws): create new script to start frontend returning mocked data (#314) 2025-05-13 13:11:21 +00:00

README.md

Kubeflow Workspaces Frontend

The Kubeflow Workspaces Frontend is the web user interface used to monitor and manage Kubeflow Workspaces as part of Kubeflow Notebooks 2.0.

⚠️ Warning ⚠️

The Kubeflow Workspaces Frontend is a work in progress and is NOT currently ready for use. We greatly appreciate any contributions.

Dev Setup

Requirements

This project requires the following tools to be installed on your system:

  • NodeJS and NPM
    • Node recommended version -> 20.17.0
    • NPM recommended version -> 10.8.2

Development

  1. Clone the repository:

    git clone https://github.com/kubeflow/notebooks.git
    
  2. Checkout the Notebooks 2.0 development branch:

    git checkout notebooks-v2
    
  3. Navigate to the frontend directory and install the project dependencies.

    cd workspaces/frontend && npm install
    

Build the Project

npm run build

Serve the UI Locally

This is the default setup for running the UI locally. Make sure you build the project using the instructions above prior to running the command below.

npm run start:dev

The command above requires the backend to be active in order to serve data. To run the UI independently, without establishing a connection to the backend, use the following command to start the application with a mocked API:

npm run start:dev:mock

Testing

Run all tests:

npm run test

Linting

Check for linting issues:

npm run test:lint

Automatically fix linting issues:

npm run test:fix