Hi all,
I’m in need of some help please! I’m trying to prototype a appointment booking grid, where the user can see a range of dates and times on an app.
The issue I’m having, is that a technical constraint we have is that we can only retrieve 7 days worth of appointments at a time - I want to replicate this to see if this is an issue to users.
To do this, I have experimented with a lot of different ways, but settled on a dynamic panel called “all-days” with horizontal scrollbars shown. I have had to reduce the size of the panel, as the vertical scroll of the page interferes with the horizontal scroll of the grid. This panel has two states with days 1-7 and days 8-14.
When the user scrolls beyond a certain point of the x-axis, I am switching the panel “days1-7”, and showing a loader, whilst the panel changes to “days-8-14” The reverse should happen when the user scrolls from days8-14, back to days1-7. I have loosely managed to achieve this, but welcome welcome any suggestions on whether there’s a better way to do this?
One of my two main issues, is that when the user scrolls from 8-14, and back to 1-7, I would like the user to start from the point where they exited the page, giving the feel of an infinite canvas / scroll (with a small load each time the data is pulled) I have tried scrolling to a hotspot / widget within the first panel state, but this doesn’t seem to work.
My second issue is that I would like to be able to fix both of the date and time axes to the top and left hand side of the panel, so the user can see where they are in the grid. However, these sit within the “all-days” panel in order to maintain their correct position with the grid, so aren’t pinnable - is there a solution to achieve this also?
I have attached an .rp of the problem, with my current workings.
Any help would be much appreciated - thank you!
example-booking-grid.rp (224.9 KB)