Commit Graph

205 Commits

Author SHA1 Message Date
Jean-Baptiste Bellet
a8a35318f5 Add horizontal rule to trix editor 2023-09-04 15:46:54 +02:00
Jean-Baptiste Bellet
2abfa623f0 Once products start loading, scroll higher, ie. just above filters
can see the loading spinner then
2023-08-18 10:20:10 +02:00
David Cook
f4a6bec25d Code fix
Cache result.
2023-08-15 08:36:50 +02:00
Jean-Baptiste Bellet
3b68674896 Remove new_products_page and all associated controller/components/
new_products_page` is dead, long live `admin_style_v3` !
2023-08-10 10:02:45 +02:00
Filipe
69dfd53658 Merge pull request #11254 from rioug/11130-add-product-filter-order-report
11130 add product filter order report
2023-08-03 16:08:44 +01:00
Filipe
f816d4b2d6 Merge pull request #11235 from jibees/11223-notices-tab-on-shopfront-persisting-after-selecting-an-order-cycle
Shopfront: On non-shop tab, when changing OC, switch to shop tab and hides non-shop tab content
2023-08-02 16:02:23 +01:00
Gaetan Craig-Riou
ec78de7cea Add product dropdown on Order and Fulfillment reports
It includes loading the selected product to populate the dropdown
when needed.
2023-07-21 14:51:40 +10:00
Gaetan Craig-Riou
b4a3aaab19 Add select variant stimulus controller
This is similar to variantAutocomplete directive used on the
new order page. It doesn't have all the same feature, but it's a
start
2023-07-21 14:51:40 +10:00
Jean-Baptiste Bellet
1750575f8c Need to update tab before updating panel since we retrieve panel from tab 2023-07-19 16:28:10 +02:00
Jean-Baptiste Bellet
695f76d3b6 Update format to be solve prettier warnings 2023-07-19 16:28:03 +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
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
0fd4d892d9 This is now unused: through the js controller only at startup 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
David Cook
d03b88cf83 Rename variables
To make it clear they are arrays
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
0fdf7876a6 Instanciate instance variable + use spread operator to be more concise
and efficient ;)
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
7084c53f38 Do not display menu is the dropdown is 'disabled'
ie. classList contains `disabled`
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
02aea989be Add on_click_outside behavior on dropdown_controller
"It's a Surprise Tool That Will Help Us Later"
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
d78af187e0 Allow dropdown controller to toggle more than one class
"It's a Surprise Tool That Will Help Us Later"
2023-07-11 10:48:51 +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
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
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
a7915b8089 Merge pull request #10849 from mkllnk/report-cable
Show "loading" screen for background reports and display when ready
2023-06-26 10:25:48 +10:00
Jean-Baptiste Bellet
7421691506 Creates a dropdown controller with its specs 2023-06-21 10:29:47 +02:00
Jean-Baptiste Bellet
74fd1814e4 Create a trixeditor controller and broadcast a change event on form
Therefore, AngularJS can set form as dirty

+ add associated spec
2023-06-09 08:03:17 +02:00
Matt-Yorkley
524d1f0264 Switch to tighter Channel scoping...
This is not a normal pattern for setting up ActionCable channels, so it might need some notes. It ensures the broadcasts from the ReportJob are unique not just to the user session but also to the specific tab in the user's browser. Otherwise if the user has two different report pages open in separate tabs with the same session, the broadcast would overwrite the #report-table element in both of them.
2023-06-09 14:44:53 +10:00
Filipe
12159edaca Merge pull request #10833 from Matt-Yorkley/order-angular
Remove Angular from admin orders index page
2023-06-01 13:57:39 +01:00
Jean-Baptiste Bellet
916b2313ab Some links does not include _panel suffix. Add if needed.
Yep. Sounds like a hack.

+ Use the right URL anchor with `_panel` in href for each tab

+ update specs
2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
6b1d1ddbce On order cycle change, go to shop panel 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
a28a792642 Allow communication between controllers via event 2023-05-25 09:19:51 +02:00
Matt-Yorkley
d50ac4bf45 Reinstate dropdown-with-prepend 2023-05-21 00:15:32 +01:00
Matt-Yorkley
4ddde65a04 Reimplement saving and restoring submitted search filters between page loads 2023-05-21 00:15:32 +01:00
Matt-Yorkley
7d33e0f74d Allow programmatically refreshing flatpickr element via "flatpickr:change" event after changing the select's value externally 2023-05-21 00:15:32 +01:00
Matt-Yorkley
2ba2a826db Clean up event handlers on disconnect in Flatpickr controller 2023-05-21 00:15:32 +01:00
Matt-Yorkley
d64a9afece Replace angular ofn-with-tip directive on capture/ship buttons 2023-05-21 00:15:32 +01:00
Matt-Yorkley
310577c49d Close dropdown after selection with multiselect
This conforms with the previous select2 multiselect behaviour
2023-05-21 00:15:32 +01:00
Matt-Yorkley
bee46720f4 Combine bulk action controllers and pass reflex as an argument 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
27290e5b57 Make modal controller creatable and destroyable 2023-05-21 00:15:32 +01:00
Matt-Yorkley
048df6230b Remove angular from admin orders index page 2023-05-21 00:15:32 +01:00
Matt-Yorkley
c4bc0a7bbd Rename select-all-controller 2023-05-20 19:47:41 +01:00
Gaetan Craig-Riou
0a249d7722 Fix ButtonEnableToggleController to remove hacky button disable
As per review comment, use data-disable-with="false" do prevent Rails
from automatically enabling the "Apply" button. We can then remove
the timeout hack.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
aa526a639c Checkout payment page, enable voucher "apply" button when code entered
The "apply" button is disabled by default. If left enabled, a customer
could try to apply an empty voucher, which results in system trying
to move to the order summary step, an unexpected behaviour!
We only enable the button when something is entered in the input.
2023-05-15 13:42:39 +10:00
Jean-Baptiste Bellet
3a1579104f Submit customer_id as params when updating customer details on order 2023-05-04 16:40:58 +02:00