Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [M3-9197] - Collapsible Node Pool tables & filterable status #11589

Merged

Conversation

hana-akamai
Copy link
Contributor

@hana-akamai hana-akamai commented Jan 30, 2025

Description 📝

Make Node Pool tables collapsible and add a Status filter

Preview 📷

Before After
Screen.Recording.2025-01-31.at.1.42.46.PM.mov

How to test 🧪

Prerequisites

(How to setup test environment)

  • Have a LKE or LKE-E cluster created with some nodes and go to the cluster details page

Verification steps

(How to verify changes)

  • Try expanding/collapsing node pool accordions
  • Click on action items in the accordion header (Labels & Taints, Autoscale Pool, etc). The respective drawer/modal should open; the click should not have also expanded/collapsed the accordion
  • Test the status filter and ensure the nodes are properly filtered
  • Check mobile view
yarn cy:run -s "cypress/e2e/core/kubernetes/lke-update.spec.ts"
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All unit tests are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@hana-akamai hana-akamai added LKE Related to Linode Kubernetes Engine offerings LKE-Enterprise labels Jan 30, 2025
@hana-akamai hana-akamai self-assigned this Jan 30, 2025
@hana-akamai hana-akamai marked this pull request as ready for review January 31, 2025 18:49
@hana-akamai hana-akamai requested review from a team as code owners January 31, 2025 18:49
@hana-akamai hana-akamai requested review from jdamore-linode, dwiley-akamai, cpathipa and mjac0bs and removed request for a team January 31, 2025 18:49
<StyledActionButton
compactY
onClick={() => handleClickResize(poolId)}
<Accordion
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The changes were basically:

  • Wrap everything in an Accordion
  • Move the actions to the accordion heading
  • Display kebab menu at an earlier breakpoint
  • Adding e.stopPropagation(); to the inline buttons

@@ -288,7 +288,6 @@ export const lightTheme: ThemeOptions = {
},
'& svg': {
fill: Color.Brand[80],
stroke: Color.Brand[80],
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The action menu in the accordion was looking off with the stroke so I removed it. I haven't noticed any regressions from this; lmk if there's any!

image

Copy link
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

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

Status filter functionality ✅
Accordion and action functionality ✅
Mobile view ✅

I'm seeing lke-update.spec.ts fail locally and in CI currently:

Screenshot 2025-01-31 at 5 05 55 PM

Copy link

github-actions bot commented Feb 3, 2025

Coverage Report:
Base Coverage: 79.28%
Current Coverage: 79.27%

Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

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

Thanks @hana-akamai!

This was working well and looked good at various screen sizes.

I was seeing one styling issue when testing keyboard navigation. It looks like a background color on the Box is getting inherited from Paper:

Screenshot 2025-02-03 at 12 31 31 PM

Screen.Recording.2025-02-03.at.12.28.40.PM.mov

@mjac0bs mjac0bs added the Add'tl Approval Needed Waiting on another approval! label Feb 3, 2025
@mjac0bs
Copy link
Contributor

mjac0bs commented Feb 3, 2025

@hana-akamai Just found something we need to account for: autoscale values when they're set, at all viewport sizes.

We should avoid a regression here where this text disappears once we're rendering the action menu. Can we display the text here for now?*

Screenshot 2025-02-03 at 2 45 01 PM

Screen.Recording.2025-02-03.at.2.39.49.PM.mov

*(I'm currently writing an enhancement ticket (M3-9236) to improve Autoscale a little at Daniel's request and we talked about ways to improve the presentation of min/max values as potentially part of that.)

@mjac0bs mjac0bs added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Feb 3, 2025
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #10 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing497 Passing3 Skipped103m 3s

Details

Failing Tests
SpecTest
object-storage.e2e.spec.tsobject storage end-to-end tests » "before all" hook for "can create and delete object storage buckets"

Troubleshooting

Use this command to re-run the failing tests:

yarn cy:run -s "cypress/e2e/core/objectStorage/object-storage.e2e.spec.ts"

@hana-akamai hana-akamai merged commit 2590e36 into linode:develop Feb 3, 2025
22 of 23 checks passed
@hana-akamai hana-akamai deleted the M3-9197-collapsible-node-pool-table branch February 3, 2025 23:11
Copy link

cypress bot commented Feb 3, 2025

Cloud Manager E2E    Run #7165

Run Properties:  status check passed Passed #7165  •  git commit 2590e361bd: feat: [M3-9197] - Collapsible Node Pool tables & filterable status (#11589)
Project Cloud Manager E2E
Branch Review develop
Run status status check passed Passed #7165
Run duration 30m 34s
Commit git commit 2590e361bd: feat: [M3-9197] - Collapsible Node Pool tables & filterable status (#11589)
Committer Hana Xu
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 2
Tests that did not run due to a developer annotating a test with .skip  Pending 2
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 499
View all changes introduced in this branch ↗︎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved Multiple approvals and ready to merge! LKE Related to Linode Kubernetes Engine offerings LKE-Enterprise
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants