Проблема горизонтальной прокрутки с помощью angularjs-dragula

Я использую angularjs-dragula и не могу автоматически прокрутить до контейнера переполнения, который скрыт от экрана.

Это моя проблема:
У меня в контейнере пять контейнеров, а пятый контейнер скрыт от экрана. Теперь я хочу перетащить элемент из первого контейнера и поместить его в 5-й контейнер. Но я не могу этого сделать, поскольку экран не прокручивается автоматически до 5-го контейнера.

Поддерживает ли angularjs-dragula вертикальную прокрутку? или есть свойство, которое мне не хватает?

Пример Plunkr: https://plnkr.co/edit/iD38MugmHIx298p7OlrI?p=preview

var app = angular.module('angular-dragula-demo', [angularDragula(angular)]);
app.controller('MainCtrl', function($scope, dragulaService) {
    dragulaService.options($scope, 'fifth-bag', {
        copy: true
    });
});

1 ответ

Похоже, что эта опция не реализована в Dragula. Разработчик Dragula предлагает использовать модуль dom-autoscroller.

Смотрите эту проблему на Github: https://github.com/bevacqua/dragula/issues/121

Для реализации этой функциональности с AngularJS:

1) Загрузите dom-autoscroller из официального репо: https://github.com/hollowdoor/dom_autoscroller/blob/master/dist/dom-autoscroller.min.js

2) Включить его в папку вашего проекта

3) Включите автопрокрутку в вашем контроллере:

// ENABLE AUTOSCROLL FOR GOALS LIST
var scroll = autoScroll([
    document.querySelector('.list')
], {
    margin: 30,
    maxSpeed: 10,
    scrollWhenOutside: true,
    autoScroll: function () {
        //Only scroll when the pointer is down
        return this.down
    }
});
Другие вопросы по тегам