Skip to content

feat(studio): Action menu on fileset detail route - #185

Merged
steramae-nvidia merged 4 commits into
mainfrom
steramae/astd-171-filesets-local-fileset-editable-description-component
Jun 8, 2026
Merged

feat(studio): Action menu on fileset detail route#185
steramae-nvidia merged 4 commits into
mainfrom
steramae/astd-171-filesets-local-fileset-editable-description-component

Conversation

@steramae-nvidia

@steramae-nvidia steramae-nvidia commented Jun 4, 2026

Copy link
Copy Markdown
Contributor
Screenshot 2026-06-04 at 11 35 32 AM

This PR adds additional functionality to the fileset detail route to allow a user to handle additional actions from the Action Menu in the top right CTA. This includes editing the description or deleting the fileset.

Also

  • Adds description text below the header.
  • Fixes a scroll issue with the existing README body.

Summary by CodeRabbit

  • New Features

    • Added a quick-actions dropdown on fileset details with View, Edit (opens dataset editor), and Delete (confirmation) workflows; successful delete returns to the fileset list.
  • UI Improvements

    • Fileset header now shows action controls beside the name.
    • Fileset detail description area rebuilt to show dataset descriptions or a creator/path row plus description for non-datasets.
    • Simplified fileset card layout for clearer content flow.

Signed-off-by: Sean Teramae <steramae@nvidia.com>
@steramae-nvidia
steramae-nvidia requested review from a team as code owners June 4, 2026 18:54
@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a FilesetActionMenu component (View/Edit/Delete) with edit/delete modals and deletion mutation + cache invalidation, integrates it into FilesetDetailRoute header (wires delete to navigate back), and adjusts FilesetCard layout and description rendering.

Changes

Fileset action menu and header integration

Layer / File(s) Summary
FilesetActionMenu component implementation
web/packages/studio/src/components/FilesetActionMenu/index.tsx
New React component renders quick actions dropdown for a fileset (View/Edit/Delete). Defines FilesetActionMenuProps, manages edit/delete modal state, opens DatasetCreateModal for edit, opens DeleteConfirmationModal for delete, executes deletion via useFilesDeleteFileset with invalidateDatasetCaches, and calls optional onFilesetUpdated / onFilesetDeleted callbacks.
FilesetDetailRoute header composition and integration
web/packages/studio/src/routes/FilesetDetailRoute/index.tsx
Imports and renders FilesetActionMenu in PageHeader slotHeading alongside the fileset name. Adds useNavigate() and wires the menu's onFilesetDeleted to navigate back to the workspace filesets route. Replaces previous slotDescription with conditional description that uses fileset.description for datasets and prepends creator/path metadata for non-datasets.
FilesetCard layout adjustments
web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/index.tsx
Removes Text import and the conditional description rendering so ReadmeBody is rendered at the top of the Stack; minor Grid styling updates applied.

Possibly related PRs

Suggested reviewers

  • htolentino-nvidia
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(studio): Action menu on fileset detail route' directly describes the main change—adding an action menu component to the fileset detail route.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch steramae/astd-171-filesets-local-fileset-editable-description-component

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@web/packages/studio/src/components/FilesetActionMenu/index.tsx`:
- Around line 70-71: The FilesetActionMenu component uses hardcoded "Dataset"
labels for UI text (e.g., the tertiary Button aria-label and the menu item
labels), but this menu is used for any fileset type; update all occurrences in
the FilesetActionMenu JSX to use the neutral term "Fileset" instead of "Dataset"
(update the Button aria-label, the menu item labels rendered by the menu/menu
items in FilesetActionMenu, and any helper/constant strings inside that
component) so the UI is fileset-neutral while leaving component structure
(Button, EllipsisVertical, MenuItems) unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f53c74e4-6cb7-4bc8-8efb-c627288a7e65

📥 Commits

Reviewing files that changed from the base of the PR and between 0b1cbcb and 46968fb.

📒 Files selected for processing (3)
  • web/packages/studio/src/components/FilesetActionMenu/index.tsx
  • web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/index.tsx
  • web/packages/studio/src/routes/FilesetDetailRoute/index.tsx

Comment thread web/packages/studio/src/components/FilesetActionMenu/index.tsx Outdated
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 18844/24899 75.7% 62.2%
Integration Tests 12016/23587 50.9% 26.1%

Signed-off-by: Sean Teramae <steramae@nvidia.com>
…table-description-component

Signed-off-by: Sean Teramae <steramae@nvidia.com>
…table-description-component

Signed-off-by: Sean Teramae <steramae@nvidia.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/index.tsx (1)

59-82: Reconsider raw div grid for Foundations layout consistency
FilesetCard uses a plain <div className="grid ..."> instead of the NVIDIA Foundations React Grid (which is used elsewhere in web/packages/studio); switch to Grid/GridItem or keep this only if there’s a specific reason to avoid the design-system component.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/index.tsx`
around lines 59 - 82, FilesetCard currently uses a raw div with Tailwind grid
classes for layout; replace that outer div with the design-system Grid/GridItem
components to keep Foundations layout consistent. In the FilesetCard component,
swap the container div (the element with className="grid w-full grid-cols-1
gap-density-xl pt-density-xl lg:grid-cols-3" and data-testid="fileset-card") for
a Grid and wrap the two children sections in GridItem(s) (preserving the lg
column spans currently applied to the first and second columns), ensuring
ReadmeBody, FilesetMetadataPanel and conditional DatasetSamplePanel remain as
children and that existing props (isFilesError, readmePath,
parsed?.content/metadata, workspace, filesetName, files) are passed through
unchanged. Ensure imports for Grid and GridItem from the Foundations library are
added and remove the raw grid className usage.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/index.tsx`:
- Around line 59-82: FilesetCard currently uses a raw div with Tailwind grid
classes for layout; replace that outer div with the design-system Grid/GridItem
components to keep Foundations layout consistent. In the FilesetCard component,
swap the container div (the element with className="grid w-full grid-cols-1
gap-density-xl pt-density-xl lg:grid-cols-3" and data-testid="fileset-card") for
a Grid and wrap the two children sections in GridItem(s) (preserving the lg
column spans currently applied to the first and second columns), ensuring
ReadmeBody, FilesetMetadataPanel and conditional DatasetSamplePanel remain as
children and that existing props (isFilesError, readmePath,
parsed?.content/metadata, workspace, filesetName, files) are passed through
unchanged. Ensure imports for Grid and GridItem from the Foundations library are
added and remove the raw grid className usage.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e952bca5-5916-49f9-b5ef-5b641de4fbcb

📥 Commits

Reviewing files that changed from the base of the PR and between 565432b and 178cc31.

📒 Files selected for processing (2)
  • web/packages/studio/src/routes/FilesetDetailRoute/FilesetCard/index.tsx
  • web/packages/studio/src/routes/FilesetDetailRoute/index.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • web/packages/studio/src/routes/FilesetDetailRoute/index.tsx

@steramae-nvidia
steramae-nvidia added this pull request to the merge queue Jun 8, 2026
Merged via the queue into main with commit d66a677 Jun 8, 2026
40 checks passed
@steramae-nvidia
steramae-nvidia deleted the steramae/astd-171-filesets-local-fileset-editable-description-component branch July 24, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants