Development #19467
Avoir des classes CSS standard (et du js de support) pour gérer des cellules repliées/repliables
0%
Description
Pour le moment il y a un peu de code dans des intégrations spécifiques mais rien de générique; il faudrait une classe "foldable" qui indiquerait qu'une cellule peut être (dé)pliée et une classe "folded" pour dire qu'elle doit être pliée par défaut.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 6 ans
- Projet changé de Intégrations graphiques Publik à Combo
La documentation irait dans publik-base-theme, et une version scss, mais une implémentation de base en css + js dans combo.public.js a sa place directement dans combo.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Josué Kouka
Mis à jour par Josué Kouka il y a plus de 6 ans
- Lié à Bug #19496: ajouter les classes "foldable" et "folded" ajouté
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch ajouté
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a plus de 6 ans
Tu as testé ton patch sur quoi/comment ?
- déjà il ne se passe rien en mettant "foldable", alors que c'est le premier truc qu'on voudrait, pouvoir déclarer si c'est une cellule pliable
- en mettant folded seul, du coup la cellule est "pliée". Pliée, en fait, totalement, même le titre a disparu, ne reste que les bordures hautes/basses de la cellule.
- en arrivant à cliquer sur ce petit espace, quelque chose apparait, oh, juste le titre, pas le contenu de la cellule.
Mis à jour par Frédéric Péters il y a plus de 6 ans
Tu as testé ton patch sur quoi/comment ?
J'insiste sur une explication. Parce que la seule à laquelle j'arrive c'est que ça n'a pas été testé du tout et j'ai l'impression de perdre du temps.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier wtf2.png wtf2.png ajouté
- Fichier wtf1.png wtf1.png ajouté
- Fichier 0002-general-add-js-to-handle-cells-with-folded-foldable-.patch 0002-general-add-js-to-handle-cells-with-folded-foldable-.patch ajouté
- Fichier 0001-booking-calendar-remove-useless-div.patch 0001-booking-calendar-remove-useless-div.patch ajouté
Frédéric Péters a écrit :
Tu as testé ton patch sur quoi/comment ?
- déjà il ne se passe rien en mettant "foldable", alors que c'est le premier truc qu'on voudrait, pouvoir déclarer si c'est une cellule pliable
- en mettant folded seul, du coup la cellule est "pliée". Pliée, en fait, totalement, même le titre a disparu, ne reste que les bordures hautes/basses de la cellule.
- en arrivant à cliquer sur ce petit espace, quelque chose apparait, oh, juste le titre, pas le contenu de la cellule.
Il manquait une modification que j'avais en local (0001)
Tu as testé ton patch sur quoi/comment ?
Mis à jour par Frédéric Péters il y a plus de 6 ans
déjà il ne se passe rien en mettant "foldable", alors que c'est le premier truc qu'on voudrait, pouvoir déclarer si c'est une cellule pliable
Toujours d'application; ou alors mauvais patch attaché.
Fichier orleans_cal.mp4 ajouté
Tu plies/déplies en cliquant en haut à droite mais c'est par nécessité parce qu'on ne peut cliquer partout sur le titre ?
~~
Ce qu'il faut :
- Pour les cellules qui ont une classe "foldable"
- Clic sur le titre → ajout d'une classed "folded" à la cellule
- CSS qui cache le contenu d'une cellule contenant la classe "folded".
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier orleans_calcell_bo.png orleans_calcell_bo.png ajouté
Frédéric Péters a écrit :
déjà il ne se passe rien en mettant "foldable", alors que c'est le premier truc qu'on voudrait, pouvoir déclarer si c'est une cellule pliable
Toujours d'application; ou alors mauvais patch attaché.
J'ai attribué la classe folded
en BO. N'est ce pas folded
pour dire que la cellule est pliée par defaut ?
Fichier orleans_cal.mp4 ajouté
Tu plies/déplies en cliquant en haut à droite mais c'est par nécessité parce qu'on ne peut cliquer partout sur le titre ?
On peut cliquer partout sur le titre.
~~
Ce qu'il faut :
- Pour les cellules qui ont une classe "foldable"
- Clic sur le titre → ajout d'une classed "folded" à la cellule
- CSS qui cache le contenu d'une cellule contenant la classe "folded".
Ok je note.
Mis à jour par Frédéric Péters il y a plus de 6 ans
J'ai attribué la classe folded en BO. N'est ce pas folded pour dire que la cellule est pliée par defaut ?
il faudrait une classe "foldable" qui indiquerait qu'une cellule peut être (dé)pliée et une classe "folded" pour dire qu'elle doit être pliée par défaut
Faut prendre les trucs dans l'ordre, il faut d'abord qu'une cellule puisse être pliée ("foldable") avant de l'être par défaut ("folded").
Mis à jour par Josué Kouka il y a plus de 6 ans
Mis à jour par Frédéric Péters il y a plus de 6 ans
$('div.cell.foldable div>h2').on('click', function(){
Faut viser uniquement le titre de la cellule, pas tous les h2.
$(this).parent('div').parent().toggleClass('folded');
Plutôt qu'une trop grosse dépendance sur le balisage, remonter vers div.foldable.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch ajouté
Frédéric Péters a écrit :
$('div.cell.foldable div>h2').on('click', function(){
Faut viser uniquement le titre de la cellule, pas tous les h2.
Done
$(this).parent('div').parent().toggleClass('folded');
Plutôt qu'une trop grosse dépendance sur le balisage, remonter vers div.foldable.
Done
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0002-general-add-js-to-handle-cells-with-folded-foldable-.patch 0002-general-add-js-to-handle-cells-with-folded-foldable-.patch ajouté
- Fichier 0001-misc-remove-useless-div-in-booking-calendar-cell-tem.patch 0001-misc-remove-useless-div-in-booking-calendar-cell-tem.patch ajouté
Le js ne change pas. J'ai juste ajouté un patch avec une suppression d'une div inutile afin que le code fonctionne sur la cellule calendar
Mis à jour par Frédéric Péters il y a plus de 6 ans
Ça ne marche pas pour les cellules dynamiquement chargées (le sélecteur ne va pas trouver le h2 pas encore présent), il faut utiliser .on() sur un élément toujours présent, en précisant le sélecteur derrière.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch ajouté
Frédéric Péters a écrit :
Ça ne marche pas pour les cellules dynamiquement chargées (le sélecteur ne va pas trouver le h2 pas encore présent), il faut utiliser .on() sur un élément toujours présent, en précisant le sélecteur derrière.
Ok, voici le patch
Mis à jour par Serghei Mihai il y a plus de 6 ans
Je dirais rester dans le bloc "contenu": div#content
Mis à jour par Frédéric Péters il y a plus de 6 ans
Je dirais rester dans le bloc "contenu": div#content
Peut-être à discuter, je pense l'inverse, quand on peut, on devrait éviter de mentionner #content.
espaces devant les accolades.
Mis à jour par Josué Kouka il y a plus de 6 ans
- Fichier 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch ajouté
Frédéric Péters a écrit :
espaces devant les accolades.
Ajouté dans ce patch.
Mis à jour par Serghei Mihai il y a plus de 6 ans
Frédéric Péters a écrit :
Peut-être à discuter, je pense l'inverse, quand on peut, on devrait éviter de mentionner #content.
Ça me convient qu'on reste sur le body.
Testé en local et ça fonctionne. Ack
Mis à jour par Josué Kouka il y a plus de 6 ans
- Statut changé de En cours à Résolu (à déployer)
commit 4b2b0b9d6b3a1f7f586ac5fc720f8e78776b29c7 Author: Josue Kouka <jkouka@entrouvert.com> Date: Wed Oct 18 11:31:04 2017 +0200 general: add js to handle cells with folded/foldable classes (#19467)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Fermé
general: add js to handle cells with folded/foldable classes (#19467)