Work is in progress to implement pagination on select dropdowns to avoid loading large lists of data for select options. However, in the ERMMain component there is an API call to fetch all the vendors and then load these into a Pinia store. This vendor store is then used in tables throughout ERM. The store should probably be removed and a different solution found for fetching the data for those tables to avoid a slow initial load of the ERM module.
I have a library with over 200K vendors, and this causes a 3.2 minute delay in loading the ERM module, making it nearly unusable. Would it make sense to use an on-demand autocomplete field here, instead of loading and storing locally the complete vendor list? After a user enters 2-3 characters of the vendor name, a paginated query is fired off to the API for a list of suggested vendors. Further entered characters further refine the list of possible vendors. see https://vuetifyjs.com/en/components/autocompletes/ for more details of how this is accomplished in Vue. If the local storage of the vendor list is used for other parts of the ERM than the vendor filter in the data tables, then perhaps a compromise could be made to set the pagination at a reasonably high number that returns all vendors for MOST libraries, but is still performant for libraries with a large vendor list.
Hi Ian, I've created a component that can do the ajax based searching for the dropdown menu - see bug 34762 If approved then this can be used throughout the module, but we would need to assess how this would work with vendors as the vendor store is used throughout the module
*** This bug has been marked as a duplicate of bug 32474 ***