-
Notifications
You must be signed in to change notification settings - Fork 240
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
(refactor) O3-4347: Migrate queue forms to react-hook-form and zod #1442
Conversation
Please add a description to your PR and format the PR title to match the convention. |
updated @denniskigen |
Unrelated pro-tip: shorter branch names are always better. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for kicking this off, @Muppasanipraneeth. I've left some comments.
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
const onSubmit = async (data: QueueRoomFormData) => { | ||
try { | ||
// here doubt why queueName twice // name: string, description: string, queueUuid: string | ||
const response = await saveQueueRoom(data.queueRoomName, data.queueRoomName, data.queueRoomService); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per this liquibase file, description
is a String value that represents "an optional description for the queue room".
While I understand why the original author defaulted to using the queue room name as the description (since we're not explicitly collecting this information from the user), I don't see any reason why we shouldn't collect a proper description. @chibongho, @donaldkibet are you aware of any specific reason why we don't have a queue room description field in the form?
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.test.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.test.tsx
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.test.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.scss
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
...ges/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
Outdated
Show resolved
Hide resolved
32f1e4b
to
90178d7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks, @Muppasanipraneeth!
…penmrs#1442) * added zod and react from hook * update room selection test assertions * Refactor form validation logic with Zod and React hooks * Update packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx * fixed test * updated packages/esm-service-queues-app/src/queue-rooms/queue-room-form.workspace.tsx * updated en.json * added inlinenotification for fetching queue room * added notification style * update return of the useQueueRooms hook * updated test * updated test * added inline loding for submit button and standralize field name * updated en.json * refactor: standardize error messages and improve accessibility in queue room forms * Minor tweaks --------- Co-authored-by: Dennis Kigen <[email protected]>
Requirements
Summary
This PR refactors several forms in the Service Queues app to use React Hook Form and Zod. These forms include the following:
This PR:
Screenshots
Before
After
Related Issue
https://issues.openmrs.org/browse/O3-4347
Other