[FIX] point_of_sale: fix country selection on touch events
The POS uses FastClick to circumvent the 300ms touch delay implemented by browsers before a click event is fired. (Although this has since been removed, probably we can get rid of this in the POS at some point as well [1]). The way FastClick works is simple: immediately fire a synthetic event and block the one fired by the browser 300ms later. Recently, browsers have started to only trust native events to trigger default actions [2][3]. Chrome in particular has started not trusting synthetic events since v53. FastClick provides a solution for this with the needsclick class. It will not interfere with events triggered on elements with this class. [1] https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away [2] https://w3c.github.io/uievents/#trusted-events [3] https://www.chromestatus.com/features/5718803933560832 Fixes #14886
This commit is contained in:
parent
e3232c85b9
commit
c0817016d2
|
@ -326,7 +326,7 @@
|
|||
</div>
|
||||
<div class='client-detail'>
|
||||
<span class='label'>Country</span>
|
||||
<select class='detail client-address-country' name='country_id'>
|
||||
<select class='detail client-address-country needsclick' name='country_id'>
|
||||
<option value=''>None</option>
|
||||
<t t-foreach='widget.pos.countries' t-as='country'>
|
||||
<option t-att-value='country.id' t-att-selected="partner.country_id ? ((country.id === partner.country_id[0]) ? true : undefined) : undefined">
|
||||
|
|
Loading…
Reference in New Issue