Skip to content

refactor: [M3-8977] - Replace Autocompletes with Select #12060

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

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

hkhalil-akamai
Copy link
Contributor

@hkhalil-akamai hkhalil-akamai commented Apr 17, 2025

Description 📝

Replaces Autocompletes in favor of the simpler Select component in the locations identified in the ticket.

Some of the instances from the ticket were skipped since those Autocompletes leverage disabling individual options or customer renderOption functions, which are not currently supported by Select. See the ticket for more details.

The Autocomplete in RegionTypeFilter was more complex and was handled in #12018.

Changes 🔄

Replace Autocomplete with Select in:

  • Create API Token drawer > Expiry field
  • Create Kubernetes Cluster > Kubernetes version
  • Firewall Rule Drawer > Protocol, Sources
  • NodeBalancers Configuration > Protocol, Proxy Protocol, Mode

Preview 📷

Before After
Personal Access Token Expiry
pat before pat after
Kubernetes Cluster Version
cluster version before cluster verson after
Firewall Rules Form
fw rule drawer before fw rule drawer after
NodeBalancer Configuration
nb config before nb config after

How to test 🧪

Verify the instances listed above continue to work as expected. Try selecting between values and submitting each form.

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

@hkhalil-akamai hkhalil-akamai self-assigned this Apr 17, 2025
@hkhalil-akamai hkhalil-akamai marked this pull request as ready for review April 17, 2025 22:07
@hkhalil-akamai hkhalil-akamai requested a review from a team as a code owner April 17, 2025 22:07
@hkhalil-akamai hkhalil-akamai requested review from pmakode-akamai and harsh-akamai and removed request for a team April 17, 2025 22:07
Copy link
Contributor

@pmakode-akamai pmakode-akamai left a comment

Choose a reason for hiding this comment

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

✅ Create API Token drawer > Expiry field
✅ Create Kubernetes Cluster > Kubernetes version
✅ Firewall Rule Drawer > Protocol, Sources
✅ NodeBalancers Configuration > Protocol, Proxy Protocol, Mode

❗️ Looks like the test failures are related to these changes and are occurring locally as well

@hkhalil-akamai hkhalil-akamai requested a review from a team as a code owner April 22, 2025 18:04
@hkhalil-akamai hkhalil-akamai requested review from jdamore-linode and pmakode-akamai and removed request for a team April 22, 2025 18:04
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🎉 567 passing tests on test run #4 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing567 Passing5 Skipped107m 47s

Copy link
Contributor

@pmakode-akamai pmakode-akamai left a comment

Choose a reason for hiding this comment

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

thanks @hkhalil-akamai! Just a couple of ESLint warnings; other than that, it looks good to me ✅

type DrawerModes,
type ExtendedRole,
type ExtendedRoleMap,
} from '../utilities';
Copy link
Contributor

Choose a reason for hiding this comment

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

Could we import these types like this: import type { DrawerModes, ExtendedRole, ExtendedRoleMap } from '../utilities'; for consistency and resolve the import order eslint warnings in this file?

@pmakode-akamai pmakode-akamai added the Add'tl Approval Needed Waiting on another approval! label Apr 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Add'tl Approval Needed Waiting on another approval! Tech Debt
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants