Подтвердить что ты не робот

Диаграмма Ганта с jQuery

http://jsfiddle.net/JeaffreyGilbert/VkghS/

В настоящее время сортировка между строками может быть выполнена путем перетаскивания barWrap (серый). Перемещение полосы gantt можно выполнить, перетащив планку.

Я хочу, чтобы сортировка и перемещение выполнялись сразу, перетаскивая панель. Как достичь этого?

Любая помощь будет оценена, спасибо.

4b9b3361

Ответ 1

Сортируемый виджет имеет функцию дескриптора. Итак:

$(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();
});

Отредактировано (см. комментарий). Вы должны вытащить перетаскиваемый, что ИМО не так уж плохо, потому что люди могут по-прежнему использовать изменяемый размер для изменения позиции. Вы можете экспериментировать с перетаскиваемыми ручками, чтобы найти метод, в котором они оба работают.

Ответ 2

Это старый вопрос, но для этого вам просто нужно добавить еще одну оболочку div (jsfiddle):

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

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

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