IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Split Pane en JS pur


Sujet :

JavaScript

  1. #1
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 890
    Points : 3 729
    Points
    3 729
    Par défaut Split Pane en JS pur
    Salut,

    J'ai vu plusieurs splitter en JQuery mais j'aimerais en avoir un en "JS pur"...

    J'ai trouvé deux librairies pour l'instant :

    - Splitter : http://andrienko.github.io/splitter
    - Split.js : https://split.js.org

    1 - Le premier est très simple à comprendre et à utiliser. On peut faire facilement des layout assez complexe comme le dernier exemple de la page.

    C'est assez intuitif car on définit le layout avec du code html, on utilise des class pour indiquer si la division est horizontale ou verticale. On a donc déjà sans le JS une bonne idée du layout ---> c'est-à-dire qu'on peut deviner à quoi va ressembler le layout en regardant le HTML.

    Par contre les inconvénients c'est qu'il fonctionne par paire : on peut facilement avoir deux colonnes ou deux lignes mais si on veut par exemple trois colonnes cela se complique un peu : Il faut une cellule de deux colonnes et ensuite on imbrique dans la deuxième colonne une autre cellule de deux colonnes...

    En plus avec ce de système si on fait varier la largeur de la première colonne alors les largeurs des deux autres colonnes varient aussi alors qu'on pourrait s'attendre à ce que seuls les largeurs des premières colonnes varient (tant que les limites ne sont pas atteintes)...

    Avec trois colonnes/lignes cela se complique déjà et la complexité augmente avec le nombres de colonnes et de lignes se multiplient cela devient fastidieux et moins lisible...

    2 - Je trouve le deuxième bien plus compliqué à mettre en œuvre, beaucoup moins lisible, c'est à l'utilisateur de gérer les emplacements avec le HTML/CSS... Apparemment le code JS s’occupe surtout de placer les splitters...

    On a plus de liberté mais c'est beaucoup plus compliqué du coup...

    Par contre on peut mettre nos trois colonnes dans la même cellule sans problème apparemment...

    ----

    Bref est-ce que vous connaissez d'autres librairies qui combineraient les avantages de ces deux librairies sans les inconvénients (lol)?

    Sinon cela me semble faisable à faire...

  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 890
    Points : 3 729
    Points
    3 729
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Bref est-ce que vous connaissez d'autres librairies qui combineraient les avantages de ces deux librairies sans les inconvénients (lol)?

    Sinon cela me semble faisable à faire...
    J'ai quelques idées pour le faire :

    - Utiliser flexbox ---> On garde l’avantage (et même on l'augmente considérablement) de la lisibilité : sans même exécuter le JS on a notre layout qui se met en place !!! Et c'est facile de deviner l'allure du layout juste avec le html et les class...

    En plus on peut mettre autant de colonnes/lignes dans une cellule sans que cela nuise à la lisibilité (pas d'imbrication)...

    - Du coup on utilise pas le positionnement absolu que j'ai souvent vues dans les librairies mais on doit quand même faire les calculs sur tous les éléments contenus dans une cellule donnée...

    - Que pensez-vous des gouttières (gluter, spliter, rezizer) ? Elles sont utilisées dans tous les usages que j'ai vus même dans VSCode ! Y a-t-il des avantages indéniables à les utiliser ?


    Qu'en pensez-vous ?

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 890
    Points : 3 729
    Points
    3 729
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    - Que pensez-vous des gouttières (gluter, spliter, rezizer) ? Elles sont utilisées dans tous les usages que j'ai vus même dans VSCode ! Y a-t-il des avantages indéniables à les utiliser ?
    Bon je vois quelques avantages mais je ne suis pas sûr qu'ils soient indéniables...

    1- On peut facilement avec du CSS changer l'apparence du curseur lorsque celui-ci survole la gouttière (gluter, spliter, rezizer).

    2- Peut-être que ça fait jolie ? Mais on ne les voit pas dans certains usages comme dans VSCode par exemple lol...

    3- Peut-être qu'on ne peut pas faire autrement ?


    Par contre les inconvénients j'en vois plus :

    1- On doit les placer dans le layout quand même donc cela demande un peu de calcul...

    2- Je pense qu'on attache à chacun d'entre eux plusieurs écouteurs (pour le clique, le déplacement, glisser/déposer...). Et comme moi j'aimerais pouvoir déplacer, ajouter ou supprimer des cellules dynamiquement il faudrait alors supprimer/ajouter les écouteurs en plus des gouttières elles-mêmes...

    3- Peut-être que ce sera plus difficile à gérer avec les fonctionnalités que j'aimerais ajouter (drag&drop, suppression/ajout de cellules dynamique, redimensionnent...).


    Mais bon si c'est pas possible sans ces gouttières alors la question ne se posera plus...

Discussions similaires

  1. Divider location dans un split pane
    Par taha1 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 09/07/2009, 00h29
  2. Réponses: 3
    Dernier message: 08/09/2003, 15h06
  3. Split et calcul de ligne du tableau
    Par La_picolle dans le forum ASP
    Réponses: 6
    Dernier message: 27/08/2003, 15h58
  4. [TP]Portage d'un encodeur MP3 Fortran en pur Pascal...
    Par Christophe Fantoni dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 04/07/2003, 17h34
  5. split en xsl
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/03/2003, 10h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo