Today we added options to enable record navigation with new buttons: Prev and Next buttons on record preview page, Save and Next button on record edit page and Save and New button on a new record page.
An idea to implement these buttons was added to our Idea Exchange long ago. But until recently we were unable to find right approach to the problem. We thought of on-the-fly calculation of the next and previous record based on current record and view’s filtering criteria and sort order. But it turned out in case of complex filtering and/or sort column the time needed to find the next record is comparable with the time needed to get the whole view. That is up to 30 seconds. Bummer.
Now we have changed the approach and tried to start directly from the view.
How it works
On any record-level view type (Table, Tile, Map, Calendar, Timeline or Kanban) when you click on a View or Edit button, we capture the list of records directly from view and pass the list to a record preview/edit page. An advantage of this approach is there is no need for extra data access. It is not without drawbacks, however.
First, captured list of records is static and if editing of one record leads to removal of the next from the view you won’t see the change in the navigation; but scenario is rare.
Another drawback is as we are capturing the list of (editable) records off the view, Save and Next button won’t be available if the view does not display Edit button.
And the last one is the potential conflict between the Save and New/Next button and the Navigate action in record change triggers. On one side, Save and New/Next clearly indicates where it will navigate and should suppress navigation action. On the other side, navigation action might be critical for the business process and may have some important actions associated with it.
Due to these drawbacks new feature is disabled by default and can be enabled granularly on a per-table per-role basis.
Record navigation setup
In table properties scroll down to User Interface section to find new option flags:
When enabled new buttons are added.
And schematically the navigation is