Rachel Arnould
a3ca7e9032
Merge pull request #11568 from jibees/11069-buu-fully-update-the-details-of-my-products-and-variants-1
...
🚧 [BUU] Add `Edit` link into a small menu on the last Actions column to the right of the table
2023-09-22 10:30:01 +02:00
Jean-Baptiste Bellet
458a031558
Create a private function for event listener
2023-09-22 09:30:40 +02:00
Jean-Baptiste Bellet
c76bc07f7f
Creates a vertical-ellipsis-menu component
2023-09-19 15:32:50 +02:00
David Cook
e075d40525
Prevent accidentally leaving the page
2023-09-15 16:00:41 +10:00
David Cook
8ff67aca41
Disable filters and sorting when form is modified
...
Stimulus controllers aren't supposed to reach outside their own element (so we can't do this with targets). Perhaps the controller should be bigger to encompass more, but I wanted to see if I could avoid making a mega component that does everything. For now it seems appropriate just to pass a selector in.
Another option is to publish events on other controllers using Outlets, but I don't know if we need to go there just yet.
2023-09-15 15:45:48 +10:00
David Cook
15f7a8299b
Show form actions only when modified
2023-09-15 15:45:48 +10:00
David Cook
daefada5a9
Show summary of modified records
...
I found myself trying to write Ruby in Javascript, and it's not nearly as pretty..
Javascript now has more advanced data structures like Map, but it's rather useless because it doesn't have the usual iterator methods (such as filter, map, reduce etc).
Also for the spec I wasn't sure of the best approach, so will gladly recieve feedback.
2023-09-15 15:45:48 +10:00
David Cook
18e40bebd0
Mark modified fields
2023-09-15 15:45:45 +10:00
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