change: [UIE-8889] - DBaaS - Database Backups time selector to handle hours, minutes, seconds, and manual input - #12868
Conversation
|
@cpathipa Regarding the failing E2E test in |
| value={startDate} | ||
| /> | ||
| <TimePicker | ||
| key={`end-time-picker}-${timeZone}`} |
There was a problem hiding this comment.
@nikhagra-akamai @cpathipa Here are the changes we discussed, moving up the key up from the TimePicker and having it track changes to the timezone instead.
| hour: selectedTime?.hour, | ||
| minute: selectedTime?.minute, | ||
| second: selectedTime?.second, | ||
| }) |
There was a problem hiding this comment.
@cpathipa Regarding the changes to DatabaseBackups. This logic revolved around selecting a Date from the calendar and a Time from the time picker/selector. Now that we handle hours, minutes, and seconds, I've updated the utility functions to manage DateTime objects for the selectedTime instead.
In the end, we take the hours, minutes, and seconds from the TimePicker selection and apply them to the selected date. This is what gets sent to the backend and displayed in the dialog.
@agorthi-akamai can you please take a look at the failing timerange cypress |
Thanks @agorthi-akamai! I've merged in the pull requestthat was opened against my branch to fix the failing E2E test |
| "@linode/manager": Changed | ||
| --- | ||
|
|
||
| DBaaS Backups time selector supports hours, minutes, seconds, and manual input using Linode Time Picker ([#12868](https://github.com/linode/manager/pull/12868)) |
There was a problem hiding this comment.
| DBaaS Backups time selector supports hours, minutes, seconds, and manual input using Linode Time Picker ([#12868](https://github.com/linode/manager/pull/12868)) | |
| DBaaS Backups time selector now supports hours, minutes, seconds, and manual input using the Linode Time Picker ([#12868](https://github.com/linode/manager/pull/12868)) |
… hours, minutes, seconds, and manual input. Fixing bug in time picker component.
…e so that input clears completely
…nge verification spec
81a8227 to
22b70af
Compare
dwiley-akamai
left a comment
There was a problem hiding this comment.
All verification steps observed ✅
Code review ✅
| return isOnMaxDate ? today : undefined; | ||
| }; | ||
|
|
||
| const handleOnVersionOptionChange = (_: any, value: VersionOption) => { |
There was a problem hiding this comment.
| const handleOnVersionOptionChange = (_: any, value: VersionOption) => { | |
| const handleOnVersionOptionChange = (_: React.ChangeEvent<HTMLInputElement>, value: VersionOption) => { |
There was a problem hiding this comment.
Thanks! I've updated the type for this handler.
Cloud Manager UI test results🎉 809 passing tests on test run #8 ↗︎
|
Description 📝
This pull request makes a change to the Database Backups time selector so it can handle hours, minutes, seconds, and manual input.
This also makes a change to the TimePicker and DateTimeRangePicker components to fix an issue where modifying the value for the time picker would cause it to re-render after every change.
Changes 🔄
List any change(s) relevant to the reviewer.
Scope 🚢
Upon production release, changes in this PR will be visible to:
Target release date 🗓️
9/23/2025
Preview 📷
Database Backups Time Selector Default State
Database Backups Time Selector Open Selector State
Time Picker Selection Behavior in DateTimeRangePicker
Before
https://github.com/user-attachments/assets/753382cf-9902-4b55-8260-e6f52ad86630
After
https://github.com/user-attachments/assets/22666d78-509f-4a6d-928b-6a527fb675f2
How to test 🧪
Prerequisites
(How to setup test environment)
Reproduction steps
(How to reproduce the issue, if applicable)
Time Picker Component Selection Bug that can be seen in DateTimeRangePicker
Verification steps
(How to verify changes)
Note: In case you don't have active clusters. You should be able to test these steps with mock data.
DatabaseBackups Date and Time Selection Verification
DatabasesTab and access the details for an active database cluster.Backupstab in database detailsRestore a Backupselect theSpecific date & timeradio buttonRestorebutton is enabledRestoreto open the dialog and verify that the text under the dialog header accurately reflects the current selection.restore_timewith an ISO string that accurately reflects your date and time selection.Backups - Disabling and Validation Verification
Validation for date/time selections before earliest backup
Backupsand enabling the time pickeroldest_restore_timeretrieved from the database instance GET call are disabled in the popover.RestorebuttonValidation for date/time selections after current date/time
RestorebuttonTime Picker input clears when switching back to 'Newest full backup plus incremental' radio option
Restore a Backupradio options are switched back toNewest full backup plus incremental.DateTimeRange and Time Picker Selection Behavior Verification
Note: This change can be tested in the Database Details Metrics tab
DateTimeRangePickerpopover by selecting either the "Start Date" or "End Date" fields.Start TimeandEnd Timetime pickers.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
As an Author, before moving this PR from Draft to Open, I confirmed ✅
DateTimeRangePickerandTime Pickerfixes to be discussed in PR