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

Bibliothèques & Frameworks Discussion :

Sortable sur div imbriqués colonnes et lignes


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 812
    Par défaut Sortable sur div imbriqués colonnes et lignes
    Bonjour,
    Je viens de me lancer sur scriptaculous et pour les besoins d'administration je dois pouvoir trier mes articles avant de les publier.
    Mes articles peuvent apparaître chacun sur une ligne ou par deux voire même par trois.
    J'ai fouillé un peu mais néophyte dans le domaine j'ai réussi à jouer sur l'ordre des articles qui se présentent un par ligne (je n'ai aucun mérite, c'est dans les exemples). Je cale sur les lignes qui contiennent 2 ou 3 articles par lignes.
    Je voudrais en premier lieu pouvoir changer l'ordre gauche, centre ou droite des articles sur la même ligne. Plus tard, je me lancerais sur la possibilité d'interchanger un article qui est sur une ligne qui en contient plusieurs avec un article sur une seule ligne.
    Je mets mon exemple, je crois que c'est mieux pour la compréhension.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    <script src="lib/prototype.js" type="text/javascript"></script>
    <script src="src/scriptaculous.js?load=effects,dragdrop" type="text/javascript"></script>
    <style type="text/css">
    <!--
    .bouge {
            background-color: #FFFFFF;
            border: 1px dotted #00FF99;
            margin: 2px;
    }
    #all {
            background-color: #FFFFFF;
            width: 400px;
            overflow: hidden;
    }
    .gauche {
            float: left;
            background-color: #FFFFFF;
            border: 1px dotted #0099FF;
            width: 49%;
    }
    .droite {
            float: right;
            background-color: #FFFFFF;
            border: 1px dotted #0099FF;
            width: 49%;
    }
    body {
            background-color: #CCCCCC;
    }
    -->
    </style>
    </head>
     
    <body>
    <div id="all">
    <div id="liste_1" class="section">
    	<div class="bouge">
    	Un
    	</div>
    	<div class="bouge">
    	Deux
    	</div>
    	<div class="bouge">
    	<div class="gauche">
    	Trois 1
    	</div>
    	<div class="droite">
    	Trois 2
    	</div>
    	<div style="clear:both;"></div>
    	</div>
    </div>
    </div>
    <script type="text/javascript">
    // <![CDATA[
     
      // Création de la première boîte triable
      Sortable.create(
        // nom du id de la liste 1
        "liste_1",
        {
          // type de balise affecté - pourrait être aussi par ex. "ul"
          tag:"div",
     
          // permet de glisser un item d'une boîte à l'autre
          dropOnEmpty: true,
     
          // boîtes dans lesquelles les items peuvent être glissés
          containment: ["liste_1"],
     
          // Les items transférables ont comme nom de classe "lineitem"
          only:"bouge"
        }
      );
     
     
    // ]]>
    </script>
    </body>
    </html>

    Ainsi, dans cet exemple, je peux trier ligne par ligne mais je voudrais pour interchanger Trois 1 et Trois 2 et pourquoi pas Trois 2 avec Un ou Deux.
    J'ai vu un exemple avec tree mais je ne sais pas si c'est ce qu'il me faut.

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Citation Envoyé par kabkab Voir le message
    ... mais je voudrais pour interchanger Trois 1 et Trois 2 et pourquoi pas Trois 2 avec Un ou Deux.
    J'ai vu un exemple avec tree mais je ne sais pas si c'est ce qu'il me faut.
    Salut,

    Je pense qu'il vaut mieux effectivement t'inspirer de l'exemple avec un tree : il y a réellement une notion d'arborescence (même si elle est limitée en profondeur).
    L'utilisation tel que des sortables est assez contraignante (je trouve)
    Peux tu donner l'URL de cet exemple ?

  3. #3
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 812
    Par défaut
    Bonjour,
    Merci pour la rapidité de ta réponse.
    Je n'ai pas encore "hébergé" mon test. Tout de même, j'ai un semblant de "réussite" avec ces modifs sur le script d'appel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <script type="text/javascript">
    // <![CDATA[
     
      // Création de la première boîte triable
      Sortable.create(
        // nom du id de la liste 1
        "liste_1",
        {
          // type de balise affecté - pourrait être aussi par ex. "ul"
          tag:"div",
     
          // permet de glisser un item d'une boîte à l'autre
          dropOnEmpty: true,
     
          // boîtes dans lesquelles les items peuvent être glissés
          containment: ["liste_1"],
    		tree: true,
          // Les items transférables ont comme nom de classe "lineitem"
          only:["agauche","ag-gauche","ag-droite"]
        }
      );
     
     
    // ]]>
    </script>
    J'ai ajouté tree: true et modifié la variable only pour qu'elle ne prenne que les classes qui m'intéressent.
    Il me reste maintenant à jouer sur onChange pour vérifier quand je modifie l'ordre d'un article qui est sur une ligne à plusieurs articles.

Discussions similaires

  1. Réponses: 33
    Dernier message: 19/10/2012, 19h50
  2. [MooTools] sortable sur div lors d'un rechargement d'une partie de page
    Par le prince dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/07/2010, 09h10
  3. [XL-2000] Transposer plusieurs lignes sur une seule colonne
    Par ceuce dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 10/04/2009, 12h11
  4. Problème de hauteur sur divs imbriqués
    Par Kahlyv dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 27/11/2008, 19h00
  5. Réponses: 1
    Dernier message: 12/12/2007, 14h38

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