Commit Graph

5884 Commits

Author SHA1 Message Date
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
ddfc60c85e Don't use events, but call the loading controller itself 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
762b777995 Design of the search button 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
38d0af8ec0 Simplify: don't need to pass through the js controller
Use the reflex itself

+ Don't need to create a method that will be called only in the connect

+ Simply code by adding only two lifecycle methods

Actually it seems that all reflex related to products controller should show/hide loading
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
0b83dc088d Separation of concerns: use a loading controller
Two different events can be used: `show-loading` and `hide-loading`.

I'm not 100% sure this is the right way to go, but let's try!
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
Jean-Baptiste Bellet
776b9adc72 Display shipping address in summary step, instead of the billing one
+ update specs accordingly
2023-07-17 09:37:05 +02:00
Filipe
308ce9263d Merge pull request #11170 from jibees/11160-bulk-actions-function-not-working-on-safari-mac-browser
Admin, Orders: Make bulk actions dropdown re-enabled for Safari browser
2023-07-13 17:17:18 +01:00
Filipe
2f8a056bee Merge pull request #11187 from jibees/10975-white-label-remember-custom-tab-activation-after-error-message
Admin, White Label: check the custom tab checkbox if any errors on custom tab (ie. title is blank)
2023-07-13 16:43:18 +01:00
Filipe
448d5ea017 Merge pull request #11135 from Matt-Yorkley/vouchers
Vouchers part 2
2023-07-13 12:50:32 +01:00
Jean-Baptiste Bellet
6143f4ce6f Use dropdown controller to manager actions dropdown in orders page 2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
a8b9d9d8af Check the custom tab checkbox if any errors (ie. title is blank) 2023-07-10 16:31:33 +02:00
Filipe
f0bcb79c09 Merge pull request #11169 from openfoodfoundation/11164-admin-orders-actions-dropdown-is-not-well-placed
Fix container issues introduced by #11123
2023-07-07 11:15:14 +01:00
Matt-Yorkley
42a3087cdb Remove :available_on attribute from Product class 2023-07-06 14:36:35 +01:00
Jean-Baptiste Bellet
6ee388fe51 Fix container issues 2023-07-06 11:41:54 +02:00
David Cook
05a22b80bc Merge pull request #11123 from dacook/buu-products-table
[admin_style_v3] Products table with variants
2023-07-06 09:37:31 +10:00
Matt-Yorkley
55cc57cf87 Use pre_discount_total when comparing to voucher amount 2023-07-04 13:13:05 +01:00
Matt-Yorkley
f7912a2240 Fix CSS/layout issues 2023-07-04 13:13:05 +01:00
Matt-Yorkley
672400192f Update use of params 2023-07-04 13:13:05 +01:00
Matt-Yorkley
9b45b71696 Improve feature toggling 2023-07-04 13:13:05 +01:00
Matt-Yorkley
28795effc3 Clarify named vouchers in UI 2023-07-04 13:13:05 +01:00
Matt-Yorkley
de97e69e7d Show/hide payment methods if voucher changes order total to zero 2023-07-04 13:13:05 +01:00
Matt-Yorkley
55bce9f1b2 Remove @voucher_adjustment instance variable 2023-07-04 13:13:05 +01:00
Matt-Yorkley
7a0b83076b Move loading of saved cards out of checkout concern 2023-07-04 13:13:05 +01:00
Matt-Yorkley
1cd38c957d Introduce "zero priced orders" in admin order payments UI and helper 2023-07-04 13:13:05 +01:00
Matt-Yorkley
bd29a9acde Introduce "zero priced orders" to checkout UI and order state flow 2023-07-04 13:13:05 +01:00
Matt-Yorkley
91004588f6 Add separate voucher form 2023-07-03 11:03:05 +01:00
Matt-Yorkley
3f83da9928 Move voucher section out of main checkout form 2023-07-03 11:03:05 +01:00
Matt-Yorkley
e04a3f6b4d Move form definition down into each checkout step 2023-07-03 11:03:05 +01:00
Matt-Yorkley
3d44f4bc98 Introduce "zero priced order" concept with no required payment
This applies to cases where an order contains items with zero price or where applied vouchers have reduced the order's total to zero.
2023-07-03 11:03:05 +01:00
Matt-Yorkley
fefa9288a4 Remove :permalink attribute from Product 2023-06-30 11:37:57 +01:00
Filipe
d27a632a38 Merge pull request #11079 from abdellani/fix-distributors-listing-on-checkout-options
filter distributors before listing on checkout options
2023-06-29 17:02:34 +01:00
Filipe
36f4b2e7f9 Merge pull request #11107 from jibees/11085-edit-variant-cant-update-values-on-the-variant-edit-page
Admin, Edit variant: remove unwanted extra space on price (added in certain specific conditions)
2023-06-29 16:46:42 +01:00
Filipe
97f131e556 Merge pull request #11089 from jibees/11049-invoices-actions-dropdown-menu-disappears-after-creating-the-first-invoice
[Invoices] Actions dropdown menu disappears after creating the first invoice
2023-06-29 16:23:35 +01:00
Jean-Baptiste Bellet
3286094804 number_to_currency can be nil: use a safe operator 2023-06-29 10:47:00 +02:00
Jean-Baptiste Bellet
2fcf706aa3 Remove unwanted space at the end of the price
This `number_to_currency` method seems to display an extra space, not necessary when unit is `''`
Strip it.

Update specs as well. Thanks @filipefurtad0 for specs!!!
2023-06-29 10:40:01 +02:00
Matt-Yorkley
a0a1f8f910 Merge pull request #11002 from openfoodfoundation/voucher-prep
Vouchers part 1
2023-06-28 11:30:12 +01:00
David Cook
f280881126 Style tables with relaxed and condensed rows
* attempt with shadows, but they are between every row: http://jsfiddle.net/d872e3nb/
 * another attempt at applying styles to tbody groups http://jsfiddle.net/sb38cLdu/
2023-06-28 09:59:57 +10:00
David Cook
2c14fe0434 Add variant rows and price column 2023-06-28 09:59:57 +10:00
David Cook
9c573f823a Move .content under main content div
The .content div provides overall page margins and a max width, and is already nested inside the nav menus (this allows the nav background to fill the full width of the page.
The main content area should be structured the same way, so we can have flexibility needed to allow some screens to use the full page.

This doesn't seem to change the layout of any screens in the admin interface.

Now the table content can stretch full width
2023-06-28 09:59:57 +10: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
David Cook
841192fb96 Add new products page
Hidden behind admin_style_v3 feature toggle.
2023-06-28 09:59:57 +10:00
Filipe
748cdaaa52 Merge pull request #10963 from jibees/10956-orders-page-uncaught-error-missing-target-element-tooltip-for-tooltip-controller
Admin, Orders list: add tooltip on Edit action icon + capitalize tooltip (instead of uppercasing)
2023-06-27 09:58:34 +01:00