Jean-Baptiste Bellet
3fab9714f5
Use a constant as the search_key
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
2697a637a9
Use the OpenFoodNetwork::Permissions helper
...
To retrieve only primary producers
2023-07-19 14:58:40 +02:00
jibees
3245f7ff99
Update app/reflexes/products_reflex.rb
...
Co-authored-by: David Cook <david@redcliffs.net >
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
90c6398197
Simplify and call methods directly via before_reflex
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
b3bdba3a9b
Better use merge! instead of q = q.merge
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
fac02c794c
Search through more attributes than only name
...
Copy/paste from `app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee`
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
5a8a187f54
Add clear search button and action
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
333dc11fc1
Manage form params vs. URL params. And replace state with params.
...
"One needs to understand what the source of the params in a reflex is. And there are two sources:
the closest form
the url of the currently displayed page"
Source: https://github.com/stimulusreflex/stimulus_reflex/issues/290#issuecomment-683334963
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
bfe1884ab5
Can filter by categories
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
f58cf2d3b2
Can filter by producer
...
Not sur the request nor the `producers` in the reflex should be like this. This is a proof of concept, and should probably be reviewed
Fix linter issues
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
643897abb2
Add search functionnality
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
c786f300ca
Have a tiny url state management by using replace_state of cable_ready
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
3da6e02192
Call pagination via perPage param: no state to manage, use param
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
61d1f30e04
Rename productsV3 to products: avoid upper|lower case issues
...
This is causing some issues, misunderstandings around case.
Therefore, directly use the Reflex, and lifecycle methods `beforeFetch` and `afterFetch` are called, even if we use the Reflex (and not the js controller methods). This is pretty handy.
+ adds some id to pagination element (https://docs.stimulusreflex.com/guide/reflexes.html#declaring-a-reflex-in-html-with-data-attributes )
Global documentation: https://docs.stimulusreflex.com/guide/reflexes.html
2023-07-19 14:58:39 +02:00