The Routing System
The software is designed to be url driven; that is, valid urls will automatically load appropriate module data, filters, collections, and items.
Routing is done in the front end by Vue Router.
The process starts with the Vue Router middleware handleRouteChange() and follows these steps:
planTransition() receives the "from" and "to" handle objects, determines if the transtion is valid and, if so, determines the actions needed to complete it (e.g., load trio, load collection)
prepareForNewRoute() runs the list of required actions received from planTransition(). Those typically include
- parsing and validation of url parameters
- sending request(s) to the server
- waiting for response(s)
- error handling and re-routing or
- saving response data locally in appropriate stores