2010-11-23 5 views
12

http://jsfiddle.net/JeaffreyGilbert/VkghS/diagramme de Gantt avec jQuery

tri actuellement entre les lignes peut être fait en faisant glisser barWrap (gris). Pour déplacer la barre de Gantt peut être fait en faisant glisser la barre. Ce que je veux c'est le tri et le déplacement peut être fait tout de suite en faisant glisser la barre. Comment y parvenir?

Toute aide serait appréciée, merci.

+0

+1 Grande jsFiddle, m'a beaucoup aidé. –

+0

Content que cela vous a aidé. –

+0

Le jsfiddle est en panne. Pouvez-vous republier le code? –

Répondre

6

Le widget triable possède une fonction de poignée. Alors:

$(function() { 
    $(".gantt").sortable({ 
     handle: '.bar' // Make it sortable by dragging the .bar instead of the container 
    }); 
    /* 
    $(".bar").draggable({ 
     connectToSortable: '.gantt', 
     containment: '.barWrap', 
     grid: [20, 0] 
    }); 
    */ 
    $(".bar").resizable({ 
     handles: 'e, w', 
     grid: [ 20, 0 ] 
    }); 

    $(".gantt").disableSelection(); 
}); 

Modifié (voir le commentaire): Vous devez prendre le draggable, qui est l'OMI pas si mal parce que les gens peuvent toujours utiliser redimensionnable pour changer la position. Vous pouvez expérimenter avec des poignées draggables pour trouver une méthode où les deux fonctionnent.

+0

Oh, ça ne marche pas :(Le draggable et les sortables doivent interférer les uns avec les autres Je vais continuer à travailler dessus –

+0

Ya je l'avais fait, je pense que c'est possible –

+0

Après tout, j'ai séparé le mouvement et la traînée poignées, merci –

0

Il est une vieille question, mais il vous suffit d'ajouter un autre emballage div pour y parvenir (jsfiddle):

$(function() { 
    $('.barWrap').wrapInner('<div class="sorter"></div>'); 
    $(".gantt").sortable({ 
     handle: '.sorter' 
    }); 

    $(".bar").resizable({ 
     handles: 'e, w', 
     grid: [ 20, 0 ] 
    }); 

    $(".gantt").disableSelection(); 
}); 
Questions connexes