|
@@ -3424,13 +3424,33 @@ cosmetiek.** Gemeten op **productie** in Amsterdam (`townid=28695`):
|
|
|
| Verhuur, catering | 24 | 24 |
|
|
| Verhuur, catering | 24 | 24 |
|
|
|
| Cultuur | 14 | 14 |
|
|
| Cultuur | 14 | 14 |
|
|
|
|
|
|
|
|
-Er verdwijnen in Amsterdam dus **220 eetgelegenheden**, en omdat het filter
|
|
|
|
|
-op de al afgekapte lijst werkt, doorzoekt het zoekveld alleen die 25 — de
|
|
|
|
|
-gebruiker krijgt stilletjes onvolledige resultaten zonder enige aanwijzing.
|
|
|
|
|
|
|
+**⚠️ CORRECTIE 2026-09-10 op een eerdere bewering hier: het zoekveld
|
|
|
|
|
+doorzoekt WÉL de volledige lijst.** De gegenereerde code is
|
|
|
|
|
+`filterHorecagelegenheden(<volledige lijst>, zoekterm, …).toList().take(25).toList()`
|
|
|
|
|
+— dus eerst filteren over alle 245, dán afkappen. Zoek je "pizza" in
|
|
|
|
|
+Amsterdam, dan worden alle 245 doorzocht en zie je de eerste 25 treffers.
|
|
|
|
|
+De eerdere formulering "het zoekveld doorzoekt alleen die 25" was fout.
|
|
|
|
|
+
|
|
|
|
|
+**Wat er wél overblijft:** zonder zoekterm zie je 25 van de 245 en kun je
|
|
|
|
|
+**niet doorbladeren**, want deze pagina heeft geen pager — geverifieerd: 0
|
|
|
|
|
+`PagedMasonryGridView`, 0 `PagingController`, 0 infinite scroll, zes
|
|
|
|
|
+gewone `MasonryGridView`. De infinite scroll is er bij P2-6 bewust
|
|
|
|
|
+uitgehaald omdat client-side filteren de volledige dataset nodig heeft.
|
|
|
|
|
+In Amsterdam/Eetgelegenheden zijn 220 zaken dus alleen via het zoekveld
|
|
|
|
|
+bereikbaar, niet door te scrollen.
|
|
|
*(Een eerdere inschatting "je merkt er weinig van" was gebaseerd op Arnhem,
|
|
*(Een eerdere inschatting "je merkt er weinig van" was gebaseerd op Arnhem,
|
|
|
grootste tab 20 items. Te klein om iets over limieten te zeggen; gebruik
|
|
grootste tab 20 items. Te klein om iets over limieten te zeggen; gebruik
|
|
|
voortaan Amsterdam.)*
|
|
voortaan Amsterdam.)*
|
|
|
|
|
|
|
|
|
|
+**Haalbare verzachting zolang `take(25)` vastzit — voorstel voor Bob:**
|
|
|
|
|
+sorteer de lijst **in `fetchAlleHorecagelegenheden`** (een custom action,
|
|
|
|
|
+en de Custom Code-editor werkt gewoon). Nu is de volgorde die van de view
|
|
|
|
|
+(nid aflopend), dus je krijgt 25 min of meer willekeurige zaken.
|
|
|
|
|
+Alfabetisch gesorteerd krijg je 25 voorspelbare, en samen met het zoekveld
|
|
|
|
|
+is dat werkbaar. Dit dekt meteen de openstaande wens "Horeca-overzicht
|
|
|
|
|
+sorteren" (zie de wachtrij bovenaan) zónder dat de Drupal-view aangepast
|
|
|
|
|
+hoeft te worden.
|
|
|
|
|
+
|
|
|
**Weghalen is veilig zodra het kan:** er is al een harde begrenzing elders
|
|
**Weghalen is veilig zodra het kan:** er is al een harde begrenzing elders
|
|
|
(`fetchAlleHorecagelegenheden` loopt door API-pagina's van 100 met
|
|
(`fetchAlleHorecagelegenheden` loopt door API-pagina's van 100 met
|
|
|
`maxPaginas = 10`, dus **max 1000 per tab**), en alle zes de grids zijn
|
|
`maxPaginas = 10`, dus **max 1000 per tab**), en alle zes de grids zijn
|