Commit Graph

151 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
e1845dddac Fix TabsAndPanelsController now that #! are removed from url
This PR https://github.com/openfoodfoundation/openfoodnetwork/pull/9729
remove #! from url. But unfortunately, AngularJs rewrite "example.com#panel"
as "example.com#/panel" thus breaking the original implementation.
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
094fc039e9 Update tabs_and_panels to display tab and panel based on the url anchor
For Vouchers, this means the voucher tab and panel are displayed when
you come back to entreprise edit screen from the new vourcher page
2023-03-28 13:39:29 +11: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
binarygit
8f6fdf3e31 [Admin, Enterprise Settings] Remove Angular from Business Details tab 2023-03-08 10:26:05 +01:00
Jean-Baptiste Bellet
8926a3f08d Having a cleaner syntax a prefer using map() instead of forEach() 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
Jean-Baptiste Bellet
ffaf4a837f Extract common behavior to BulkActionsController 2023-02-27 14:30:58 +01:00
Konrad
f7f49377b4 Merge pull request #10297 from cyrillefr/convert-admin-order-cancellation-workflow-to-stimulus-reflex
Convert admin order cancellation workflow to stimulus reflex
2023-02-20 21:38:33 +01:00
Gaetan Craig-Riou
eb67340c52 Simplify usage of UnsavedChangesController
Remove the need to manually bind handleSubmit to onSubmit event
2023-02-15 10:51:23 +11:00
Gaetan Craig-Riou
75ed68c9cb UnsavedChangesController, automatically add onChange event handler to form elements 2023-02-15 10:30:52 +11:00
Gaetan Craig-Riou
fd278e0086 Fix bug when submitting form triggered a warning and potentially left submit button disable
jquery-ujs automatically disable submit button when submitting the form.
If one choose cancel on the leaving page warning, then the submit buttons
end up in a disable state, with no way to re enable them. This fix
prevent the warning from being triggered when submitting the form, so
we can't end up in the scenario described.
2023-02-08 16:28:41 +11:00
cyrillefr
7a967715aa Create Stimulus CancelOrder controller 2023-02-06 19:47:36 +01:00
Gaetan Craig-Riou
5cfedddba4 UnsavedChanges controller, disabling submit button is now optional 2023-02-01 13:46:30 +11:00
Gaetan Craig-Riou
dd876dfd8d Order cycle form, disable the save and save and back button on page load
Buttons will be enabled once the form has been interacted with.
Update unsavedChanges stimulus controller to handle this. It should
still be generic enought that it can be reused.
2023-02-01 09:43:28 +11:00
Gaetan Craig-Riou
ef309c0fd0 Order cycle form, checkout options steps add user warning when leaving page and form has been changed
Add UnsavedChanges stimulus controller, it should be generic enough so
that it can reused somewhere else. It works with both 'beforeunload' event
and 'turbolinks:before-visit' when using turbo links.
2023-02-01 09:43:28 +11:00
Maikel Linke
2bba38134e Show new flash messages until discarded by user
We currently have two mechanisms to display flash messages. The old one
through AngularJS and the new one with StimulusReflex.

The AngularJS directive showed flashes for 10 seconds. The
StimulusReflex controller showed them only for 3 seconds. But any time
based disappearance of error messages is problematic. There's important
information in there and some error messages can be long. It's also
possible that a request takes a while, the user leaves the computer and
comes back later. If we hide the flash automatically then the user may
have no idea what went wrong. They may even think that everything is
fine and their order went through.

I removed the time-based removal of flash messages from the new
StimulusReflex controller to address this problem. But I didn't touch
the AngularJS directive because it will be removed anyway. There may
also be many more messages that could be annoying if they didn't
disappear, for example a simple "login successful".

I personally think that flash messages that are not important to keep,
don't need to be shown in the first place. The best UX makes the success
obvious on the page. And success should be assumed.
2023-01-25 15:33:17 +11:00
Filipe
f917027cb1 Merge pull request #10249 from jibees/10228-split-checkout-error-422-on-step-2-payment-update-highlighted-fields
SplitCheckout: Fix an issue that was sending unintentionally bad params for payment
2023-01-24 10:31:49 +00:00
Filipe
bc788b6d60 Merge pull request #10243 from jibees/10242-change-how-orders-are-loaded-in-bom-+-filters
Admin, BOM: add pagination, remove date range filtering on first load
2023-01-23 17:48:05 +00:00
Jean-Baptiste Bellet
3247c32191 Be consistant and use data-paymentmethod-id attribute
as already used on other element
2023-01-23 17:48:54 +01:00
Jean-Baptiste Bellet
251ab2ac9a Payment method id attribute don't need to start with paymentmethod 2023-01-23 17:46:26 +01:00
Jean-Baptiste Bellet
53c701e04c In fact, it seems likely to be strictly less. 2023-01-20 11:20:35 +01:00
Jean-Baptiste Bellet
7320a1714c Instead of selecting the controller, send an event handled by stripe-cards
Using a query selector to find controller in order to call method could be dangerous as the DOM can change. Using an event should be more robust.
2023-01-18 17:40:17 +01:00
Jean-Baptiste Bellet
121a4a08af On filters reseting , set dates to undefined: range is not mandatory
+ send flatpickr event to reset the component

+ update specs as well
2023-01-18 17:39:09 +01:00
Jean-Baptiste Bellet
7e844ee289 Implement resend email confirmation bulk action
- Create a controller that send a reflex action with the order_ids array
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
64ca0a4eea Extract open/close/closeIfEscapeKey methods to a mixins
therefore we can compose any controller from it
 - simplify `help-modal-controller` then
 - + create a simple `modal-controller` that close on `modal:close` event
2023-01-03 10:30:25 +01:00
Jean-Baptiste Bellet
2fde3abe37 Extract a StimulusJS modal_controller
+ make `help_modal_link_controller` inherit from it
2023-01-03 10:30:25 +01:00
Jean-Baptiste Bellet
2d86e8857a Put payment method description just above the
+ update spec by adding `data-paymentmethod-id` attribute
2022-12-28 15:21:29 +01:00
Jean-Baptiste Bellet
ca1a850d4a Show shipping method description just bellow the radio input 2022-12-28 15:21:29 +01:00
Jean-Baptiste Bellet
93e736fdf6 Use label as a placeholder that move above the input when focused
Couldn't make a pure CSS version because of the way rails generates its errors (it add `<span />` over the element, either `input` or `label`, itself)
2022-12-27 10:47:18 +01:00
Rachel Arnould
fd95970774 Merge pull request #8996 from jibees/introduce-backoffice-ui-uplift
Introduce backoffice UI uplift
2022-12-14 14:20:43 +01:00
Jean-Baptiste Bellet
3cf01623da Handle filtering on js controller for SelectorWithFilter 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
274ee2c6f6 Toggle is now controlled by the browser (and don't requires a reflex) 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
940b554d23 Toggle is now controlled by the browser (and don't requires a reflex) 2022-12-07 15:08:54 +01:00
Jean-Baptiste Bellet
fbf2315a93 Rename SuperSelector to SelectorWithFilter 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
3ae5db907a Create js controller for ProductsTable component
Handle before/after reflex lifecycle methods on client side
Add 'loading" class on products-table component
2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
122677bc7a Create SearchInput component 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
22d13621f4 Only send close reflex if element is actually visible 2022-12-07 15:08:53 +01:00
Jean-Baptiste Bellet
224daf2591 Factorize js controller between Selectore and SuperSelector components
+ add a computeItemsHeight on afterReflex callback
2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
1adb22be71 Create SelectorWithFilter component 2022-12-07 15:08:52 +01:00
Jean-Baptiste Bellet
2b7bccf890 Create Selector component
Add a onClickOutside behavior that close the component if clicked outside

Selector component doesn't handle its state but receive props from parent

u
2022-12-07 15:08:52 +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
2f037c3965 Fix: Transparent background of 'Complete Order' area on Firefox mobile 2022-12-07 12:21:03 +05:45
jibees
1fcc98af80 Merge pull request #10026 from abdellani/make_default_time_at_00_00_instead_of_12_00
Make default time at 00 00 instead of 12 00
2022-12-01 17:43:08 +01:00
Mohamed ABDELLANI
9dc3f2d69e add new parameter defaultDate to flatpickr to decide the default value when selector is opened 2022-11-29 11:12:33 +01:00
Konrad
ddd0b939fe Merge pull request #9968 from openfoodfoundation/9964-xero-reports-bugnsag-error-missing-target-element-checkbox-for-csv-select-controller
Xero report: Avoid js error due to missing element, check it exists before setting any properties
2022-11-27 19:20:16 +01:00
binarygit
8fc721c651 [Admin, Enterprise Settings] Show spinner when enterprise sells changes 2022-11-13 16:24:35 +05:45
Jean-Baptiste Bellet
4f265eed2a Check that target exists before setting properties
In case of Xero reports, there are no checkbox
2022-11-10 09:55:36 +01:00
Jean-Baptiste Bellet
bdf132a833 Format file according to our prettier configuration 2022-11-10 09:49:28 +01:00
Jean-Baptiste Bellet
228e484f02 Flatpicker instance can now handle flatpickr:change event
With:
```
detail: {
  startDate: "2022-10-02",
  endDate: "2022-10-10"
}
```
2022-11-03 16:57:03 +01:00