Commit Graph

48 Commits

Author SHA1 Message Date
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
Jean-Baptiste Bellet
574adb88d2 Add a per page component
This is still a WIP.
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
5aebbe4102 use beforeFetch and afterFetch lifecycle methods
+ Move outside `Admin` module the reflex

Therefore, this reflex should be _equivalent_ to its javascript controller: `ProductsV3` (relation is made through names)

Remove unwanted line

Actually call StimulusJS controller instead of calling the reflex itself

In order to have this "showLoading", "hideLoading" behavior.

It seems to be possible to directly use the Reflex itself (use `data-reflex` instead of `data-action`) but I can't make it work: the `stimulus-controller:after` event is never broadcasted/catched (but `stimulus-controller:before` yes...)

Documentation:
https://docs.stimulusreflex.com/guide/reflexes.html#understanding-stimulusreflex-controllers
https://docs.stimulusreflex.com/guide/lifecycle.html#generic-life-cycle-methods

Maybe @dacook if you want to have a look...
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
47f21cb59e Add pagination with pagy
For `admin_style_v3` use `<` and `>` for next and previous link

instead of `next` and `previous` string

Extract a mixin for a default box-shadow

Maybe this needs to be redefined. Let's see how next things goes.

When a table is followed by a pagination, remove its margin-bottom + border

Finally, design the pagination component

Add sorting/pagination module, on top of table

We use `cablea_ready.replace`, so need to add `#products-content` id

Use a `pagy` partial with reflex action, instead of the legacy one

- revert the legacy one to its previous state
 - in reflex, fetch product with page attribute, 1 by default

Move `pagy` into `admin/shared/v3/` to be reusable

+ use fontawesome icons for next and previous page

Remove useless line
2023-07-19 14:58:39 +02:00
David Cook
6a2025b271 Add products table
With ellipsis clipping for long lines.
2023-06-28 09:59:57 +10:00
David Cook
809c15b197 Load products page with reflex
We will add the products in the next commit.
2023-06-28 09:59:57 +10:00
Maikel Linke
15ef826ac1 Style Style/ClassAndModuleChildren 2023-05-26 13:27:34 +10:00
Matt-Yorkley
95f1643cec Combine related reflex actions 2023-05-21 00:15:32 +01:00
Matt-Yorkley
5930d0c1f5 Make bulk actions more generic 2023-05-21 00:15:32 +01:00
Matt-Yorkley
55d9deb5bd Update order cancelling bulk action 2023-05-21 00:15:32 +01:00
Matt-Yorkley
134f1ab151 Replace angular bulkInvoiceCtrl 2023-05-21 00:15:32 +01:00
Matt-Yorkley
25aecfa5b9 Add reflex for shipping orders 2023-05-21 00:15:32 +01:00
Matt-Yorkley
e58a37f65b Add reflex for capturing orders 2023-05-21 00:15:32 +01:00
Matt-Yorkley
73b41154cc Update admin flashes 2023-05-21 00:15:32 +01:00
Matt-Yorkley
e1b0a03819 Scope orders before bulk actions 2023-05-17 12:03:40 +02:00
Jean-Baptiste Bellet
679fcc0114 When removing the logo, also delete white_label_logo_link preference
since it has no sense without the logo
2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
6fdf9fa038 Add/Remove white label logo in enterprise preferences panel 2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
bbec01a9cb Create a concern for reflexes that handle Enterprise update 2023-04-20 08:45:03 +02:00
Filipe
1673a18eb6 Merge pull request #9729 from binarygit/remove-angular-from-users
Admin, Enterprise Settings, Users tabs: remove tooltips directives + use reflex to invite user to be managers
2023-03-23 11:52:18 +00:00
Jean-Baptiste Bellet
29cdadd563 Avoid using exception but simply errors attribute contained in object
Co-Authored-By: Maikel <maikel@email.org.au>
2023-03-23 11:21:15 +01:00
binarygit
ecd5033efa Replace angular for when adding a new unregistered manager to an enterprise
Co-Authored-By: David Cook <david@redcliffs.net>
2023-03-23 11:21:05 +01:00
Jean-Baptiste Bellet
a13227defa Add I18N to all reflexes 2023-03-23 11:21:05 +01:00
Rachel Arnould
75c3bf8b56 Merge pull request #9630 from binarygit/remove-angular-from-business-details
Remove angular from business details
2023-03-21 18:31:40 +01:00
Jean-Baptiste Bellet
5cbec5521c Simplify ability
Co-Authored-By: David Cook <david@redcliffs.net>
2023-03-08 10:38:28 +01:00
binarygit
8f6fdf3e31 [Admin, Enterprise Settings] Remove Angular from Business Details tab 2023-03-08 10:26:05 +01:00
Jean-Baptiste Bellet
5208094f05 Do not bulk send invoices if order is not 'complete' or 'resumed'
+ update specs as well
2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
58ea3a10e8 Invert condition on can send invoice 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
5ca5c32da4 Factorize what could be into two methods: success and orders 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
7a1a1286d2 Factorize two reflexes into one: BulkActionsInOrdersListReflex 2023-02-27 14:30:59 +01:00
Jean-Baptiste Bellet
5e61aa8a77 Create the bulk send invoice action in order list
using the same pattern than SendConfirmationEmail action

Co-Authored-By: David Cook <david@redcliffs.net>
2023-02-27 14:30:59 +01:00
cyrillefr
c302640644 Create a reflex that handles bulk orders cancelling 2023-02-06 19:47:36 +01:00
Jean-Baptiste Bellet
ab39341192 Add permission management with cancancan 2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
bcc9d447e1 Create a reflex that handle re-send email confirmation to user 2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
1869536529 Install view_component_reflex + cable_ready
+ Add stimulus reflex in the admin section

 + log stimulusreflex

 + Create channel and connection

 + Some logging options

 + Create application_controller each stimulus reflex controller should inherits from this one
2022-12-07 15:08:52 +01:00
binarygit
ebe4a3d6ab Add StimulusReflex 2022-09-29 16:03:45 +02:00