Constructing a calendar view
In this section, we’ll learn how to use our existing helpers, such as element
and elements
, mixed with CSS selectors, to select specific elements we’re interested in within our HTML layout.
But first, let’s start with some planning.
We’d like AppointmentForm
to display available time slots over the next 7 days as a grid, with columns representing days and rows representing 30-minute time slots, just like a standard calendar view. The user will be able to quickly find a time slot that works for them and then select the right radio button before submitting the form:
Figure 5.1 – The visual design of our calendar view
Here’s an example of the HTML structure that we’re aiming to build. We can use this as a guide as we write out our React component:
<table id="time-slots"> <thead> <tr> ...