Projet

Général

Profil

Development #19467

Avoir des classes CSS standard (et du js de support) pour gérer des cellules repliées/repliables

Ajouté par Frédéric Péters il y a plus de 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Josué Kouka
Version cible:
-
Début:
16 octobre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

0001-general-add-js-to-handle-cells-with-folded-foldable-.patch (1,24 ko) 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch Josué Kouka, 18 octobre 2017 11:31
wtf1.png (28,1 ko) wtf1.png Josué Kouka, 18 octobre 2017 12:04
wtf2.png (45,1 ko) wtf2.png Josué Kouka, 18 octobre 2017 12:04
0002-general-add-js-to-handle-cells-with-folded-foldable-.patch (1,28 ko) 0002-general-add-js-to-handle-cells-with-folded-foldable-.patch Josué Kouka, 18 octobre 2017 12:04
0001-booking-calendar-remove-useless-div.patch (4,22 ko) 0001-booking-calendar-remove-useless-div.patch Josué Kouka, 18 octobre 2017 12:04
orleans_cal.mp4 (1,15 Mo) orleans_cal.mp4 Josué Kouka, 18 octobre 2017 12:13
orleans_calcell_bo.png (14,5 ko) orleans_calcell_bo.png Josué Kouka, 18 octobre 2017 12:27
0001-booking-calendar-remove-useless-div.patch (4,22 ko) 0001-booking-calendar-remove-useless-div.patch Josué Kouka, 30 octobre 2017 14:07
0002-general-add-js-to-handle-cells-with-folded-foldable-.patch (1,05 ko) 0002-general-add-js-to-handle-cells-with-folded-foldable-.patch Josué Kouka, 30 octobre 2017 14:07
0001-general-add-js-to-handle-cells-with-folded-foldable-.patch (1,06 ko) 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch Josué Kouka, 31 octobre 2017 18:34
0002-general-add-js-to-handle-cells-with-folded-foldable-.patch (1,07 ko) 0002-general-add-js-to-handle-cells-with-folded-foldable-.patch Josué Kouka, 02 novembre 2017 09:59
0001-misc-remove-useless-div-in-booking-calendar-cell-tem.patch (895 octets) 0001-misc-remove-useless-div-in-booking-calendar-cell-tem.patch Josué Kouka, 02 novembre 2017 09:59
0001-general-add-js-to-handle-cells-with-folded-foldable-.patch (1,07 ko) 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch Josué Kouka, 06 novembre 2017 15:20
0001-general-add-js-to-handle-cells-with-folded-foldable-.patch (1,07 ko) 0001-general-add-js-to-handle-cells-with-folded-foldable-.patch Josué Kouka, 06 novembre 2017 16:13

Demandes liées

Lié à Intégrations graphiques Publik - Bug #19496: ajouter les classes "foldable" et "folded"Fermé17 octobre 2017

Actions

Révisions associées

Révision 4b2b0b9d (diff)
Ajouté par Josué Kouka il y a plus de 6 ans

general: add js to handle cells with folded/foldable classes (#19467)

Historique

#1

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.

#2

Mis à jour par Josué Kouka il y a plus de 6 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Josué Kouka
#3

Mis à jour par Josué Kouka il y a plus de 6 ans

  • Lié à Bug #19496: ajouter les classes "foldable" et "folded" ajouté
#5

Mis à jour par Frédéric Péters il y a plus de 6 ans

wtf.

#6

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.
#7

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.

#8

Mis à jour par Josué Kouka il y a plus de 6 ans

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 ?

#9

Mis à jour par Josué Kouka il y a plus de 6 ans

#10

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".
#11

Mis à jour par Josué Kouka il y a plus de 6 ans

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.

#12

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").

#14

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.

#15

Mis à jour par Josué Kouka il y a plus de 6 ans

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

#16

Mis à jour par Josué Kouka il y a plus de 6 ans

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

#17

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.

#18

Mis à jour par Josué Kouka il y a plus de 6 ans

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

#19

Mis à jour par Serghei Mihai il y a plus de 6 ans

Je dirais rester dans le bloc "contenu": div#content

#20

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.

#21

Mis à jour par Josué Kouka il y a plus de 6 ans

Frédéric Péters a écrit :

espaces devant les accolades.

Ajouté dans ce patch.

#22

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

#23

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)

#24

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF