Comments (17)
Salut,
Avec n'importe quel tri ou certains en particulier ?
from lairdubois.
Salut,
Merci pour ta réponse rapide.
Je n'ai pas testé tous les tris de toutes les sections, mais il semblerait que ce soient tous les tris qui ne fonctionnent pas.
De plus, j'ai aussi remarqué le bug suivant, qui doit probablement être lié :
Les filtres autres que les Tags ne fonctionne pas non plus pour les sections pour lesquelles le tri ne fonctionne pas.
J'ai l'impression que les filtres et tris qui fonctionnent sont ceux pour lesquels on peut aussi afficher la carte.
from lairdubois.
Arg, sur iOS 13.6, je ne vois pas ce problème.
Tu veux dire que c'est une sorte de "freeze" du JS. Ca n'est pas en attente d'une réponse du serveur ?
J'ai l'impression que les filtres et tris qui fonctionnent sont ceux pour lesquels on peut aussi afficher la carte.
Constat intéressant. Même si c'est plus l'inverse qui m'aurait donné des idées de pistes :)
from lairdubois.
Je n'ai pas l'impression qu'il attende une réponse du serveur, vu la différence de délai entre la version navigateur PC et tablette.
Je t'ai fait une capture vidéo pour te montrer le problème : https://imgur.com/a/TXYo8hr
from lairdubois.
Ok, merci pour la vidéo.
Y a pas moyen d'avoir une sorte de console de DEV depuis un Safari ou en branchant l'appareil à un ordi pour voir s'il n'affiche pas des erreurs ?
from lairdubois.
N'ayant pas de Mac sous la main, j'ai du demander à quelqu'un de tester pour moi, mais il n'est pas encore possible de simuler iOS 14 sur Safari.
De plus, dans les développer tools d'un navigateur sous Windows, en précisant un iPad ou un iPhone, je ne reproduis pas le problème. Mais je pense que c'est lié au fait que ce mode sur navigateur ne change que le user-agent et la taille, rien d'autre. Ce bug doit être lié au moteur Javascript en lui-même de l'iPhone/iPad.
from lairdubois.
Je confirme le bug sur Iphone 8 avec Safari pour iOS 14.2. Dès qu'on touche sur le bouton Filtre ou Tri ça "freeze" mais pas complètement. On peut continuer à scroller la page, mais impossible de refermer la popup du filtre ou du tri.
Je viens de faire le test avec les devtools ouverts, aucune erreur js ne s'affiche dans la console.
from lairdubois.
Pour les filtres, ce sont ceux qui ont l'attribut data-editable=true qui fonctionnent. Ce sont ceux qui ont besoin d'une saisie supplémentaire, tel qu'un outil, une essence de bois ou le nom d'un auteur qui fonctionnent. La requête part comme il faut et le contenu est bien filtré. Tous les filtres qui n'ont pas cet attribut plantent l'onglet, à tel point que ça fait bugguer le debugger de Safari...
from lairdubois.
Un autre problème (certainement lié) est que lorsque qu'on ouvre le dropdown des filtres, il est impossible de le refermer en cliquant sur le bouton Filtre. Il semblerait que ce soit un problème de focus.
Bien qu'il soit basé sur webkit, Safari a la paramètre CSS user-select:none par défaut.
En modifiant les propriétés CSS du button ça fonctionne:
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select:none
remplacé par :
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
Je suppose que ça fonctionne quand même sur les filtres qui ont l'attribut data-editable=true, qui change le focus vers l'input pour la saisie des informations complémentaires. Affaire à suivre ;)
from lairdubois.
Merci pour toutes ces précisions. Autant que je débrouille en HTML/CSS, autant là, c'est trop poussé pour moi 😅
Comment est-ce que tu as pu voir tout ça? Tu as une console JavaScript sur iOS? Ou bien tu utilises le débogguer safari en mode iOS?
from lairdubois.
Le problème semble bien venir de là.
Safari sur iOS change la propriété -webkit-user-select de la classe css .btn en mettant -webkit-user-select: none
En la remplaçant manuellement par -webkit-user-select: text tout fonctionne comme prévu. Tous les filtres fonctionnent parfaitement.
Comme je ne peux pas encore tester avec Symfony en mode dev, je n'arrive pas à traquer l'emplacement de la définition de la classe .btn pour y ajouter cette propriété, mais j'imagine que c'est dans les fichiers Bootstrap ?
J'ai vu par ailleurs, que cette propriété pouvait être définie deux fois dans la classe CSS pour que ça fonctionne dans tous les navigateurs avec un fallback pour Safari en mettant par exemple :
.btn {
user-select: all;
-webkit-user-select: text; /* Safari fallback only */
-webkit-user-select: all; /* Chrome/Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
}
Voir notamment : https://stackoverflow.com/questions/34372056/how-to-make-user-select-work-for-safari-browser
Il est peut-être possible de fixer le problème différemment en faisant un e.preventDefault() sur l'action onmousedown ou peut-être ontouchstart du bouton.
from lairdubois.
Comment est-ce que tu as pu voir tout ça? Tu as une console JavaScript sur iOS? Ou bien tu utilises le débogguer safari en mode iOS?
Salut !
- Je branche mon iPhone sur mon mac avec un câble.
- J'ouvre Safari sur mon Mac, j'ouvre les préférences > Avancé > Afficher le mode développeur.
- Ensuite j'ouvre l'onglet Développement sur le Safari de mon Mac. Il m'affiche alors l'iphone, et toutes les pages ouvertes sur le safari du téléphone.
- En cliquant sur l'air du bois il ouvre la console du navigateur du téléphone...
Ensuite ça fonctionne comme une console classique. Et là j'ai un peu cherché et fait quelques tests ;)
from lairdubois.
Hmm, intéressant vos réponses !
.btn est en effet défini dans Bootstrap, mais on peut le surcharger.
PS : J'avais le PB sur Chrome pour iOS aussi...
from lairdubois.
J'aurais bien aimé pouvoir le tester, mais j'attends le Docker pour pouvoir m'y mettre ;D
Je suppose qu'il faudrait donc tester l'ajout de l'attribut webkit-user-select:text directement dans https://github.com/lairdubois/lairdubois/edit/master/src/Ladb/CoreBundle/Resources/assets/less/bootstrap/buttons.less et recompiler un css pour bootstrap.
Il faudra également vérifier que ça n'impacte pas les autres navigateurs négativement j'imagine ;)
Kenavo !
from lairdubois.
Salut à tous,
Je viens de mettre en place le workaround et ça semble fonctionné là où ça ne marchait plus. En espérant que ça n'a pas pété des truc ailleurs.
Merci pour vos investigations !!
from lairdubois.
Bon, en fait, ça merdouille un peu quand même. Maintenant quand on clique sur un bouton, ça y sélectionne le texte ....
from lairdubois.
En mettant all au lieu de text ? Dans mon souvenir ca sélectionne la parent du texte. Bon je ne suis pas sûr parceque je viens de voir que Safari iOS ne prend pas en charge all...
Je continue de chercher en parallèle ;)
from lairdubois.
Related Issues (20)
- Livre en plusieurs volumes: limitation de la longueur du titre du volume ? HOT 3
- Des petites bulles pour afficher le contenu des légendes associées aux champs des fiches livres et outils HOT 2
- Servir une version allégée (ou pas) de OCL dans l'Air Du Bois HOT 3
- Ajout de reactions
- Création d'événement : 500 Internal Server Error
- Images pour livres
- Demande de fonctionnalité
- Erreur 500 sur la suppression d'un processus HOT 1
- Dark mode HOT 4
- Je ne parviens pas à déposer un plan pdf HOT 3
- [SF5] Plan de migration HOT 25
- Pargage de processus privé avec d'autre utilisateurs de l'air du bois HOT 3
- Champ "accessoires" dans les outils HOT 5
- Host header attack
- Création d'un livre - Problème d'affichage d'un nom de champ HOT 2
- Précédent ramène en haut de la liste HOT 1
- Signalement: ajout d'un champ libre d'explication HOT 1
- Vos amis les métalleux :) HOT 2
- Rendre l'ADB installable
- Impossible d'ajouter des images dans un bloc d'image lors de l'édition HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lairdubois.