jkanban icon indicating copy to clipboard operation
jkanban copied to clipboard

Scroll to horizontally is not working

Open azarzaza opened this issue 5 years ago • 17 comments

when we added board out of current viewport and then drag them over the last board it is not scrolling

azarzaza avatar Aug 08 '18 07:08 azarzaza

@azarzaza I have a board with a couple of boards out of viewport. In my case I enabled the x overflow to scroll the screen. I'll test some cases to try reproduce your issue. If you could send us a piece of your HTML which is doind that, it will be much appreciated.

marcosrocha85 avatar Aug 17 '18 18:08 marcosrocha85

I've looking for a possible way to do that and came to JoshyFrancis/drag_auto_scroll.

marcosrocha85 avatar Sep 27 '18 18:09 marcosrocha85

+1 not working for me too.

omateuscastro avatar Jan 21 '19 15:01 omateuscastro

If you are talking about dragging an item from one kanban board to another and wanting to horizontal scroll at the same time then this is also an issue for me. Will anyone come up with a fix?

ZackTech avatar Jul 02 '19 10:07 ZackTech

I'm trying to integrate JoshyFrancis/drag_auto_scroll with dragEl event of jKanban, but still no success. I'll keep trying to find any reasonable solution. Any help would be handy.

marcosrocha85 avatar Jul 05 '19 01:07 marcosrocha85

Just came across this library and I like the idea of this functionality.

If I get around to integrating this tool into my project, I'd definitely want this feature - happy to take a stab at this functionality at that time, but generally speaking, I think the logic required would need to: • Track when the user is dragging • Calculate pixel width of the kanban container and determine the area where the left and right buffers are to determine when autoscrolling should happen • Scroll the window • Track when the user moves out of the buffer/ends the click/reaches the end of the scrollable area to stop scrolling

segheysens avatar Sep 26 '19 13:09 segheysens

Any updates about implementing with JoshyFrancis/drag_auto_scroll?

markitosgv avatar Nov 13 '19 23:11 markitosgv

Great news!

I've got a nice solution. Using this library: https://www.npmjs.com/package/dom-autoscroller

        var kanban = new jKanban({
            dragBoards: false,
            element:'#kanban',
        });

autoScroll([
        document.querySelector('.kanban-container')
    ],{
        margin: 20,
        maxSpeed: 5,
        scrollWhenOutside: true,
        autoScroll: function(){
            //Only scroll when the pointer is down, and there is a child being dragged.
            return this.down && kanban.drake.dragging;
        }
    }
);

Works like a charm!

markitosgv avatar Nov 14 '19 08:11 markitosgv

Thank you so much @markitosgv

If @riktar agreed, I can integrate dom-autoscroller inside jKanban in a pull request.

marcosrocha85 avatar Nov 14 '19 19:11 marcosrocha85

@markitosgv I have tried to to add the dom-autoscroller (using your code snippet) to my jkanban-boards, but it did not work. Did you use the dom_autoscroller.js from the dist distribution? Did you add something magic .css code to the jkanban containers? Of course it would be nice to have the autoscroll as well when dragging elements within an individual board and also between the boards ... @marcosrocha85 any news on the pull request?

tnetsch avatar Feb 01 '20 15:02 tnetsch

Hi @tnetsch ,

I'm using dist/dom-autoscroller.min.js after loading jkanban.min.js.

markitosgv avatar Feb 01 '20 21:02 markitosgv

Dragula has a problem about this. For now, I think the suggestion @markitosgv fits fine.

marcosrocha85 avatar Feb 12 '20 04:02 marcosrocha85

Great news!

I've got a nice solution. Using this library: https://www.npmjs.com/package/dom-autoscroller

        var kanban = new jKanban({
            dragBoards: false,
            element:'#kanban',
        });

autoScroll([
        document.querySelector('.kanban-container')
    ],{
        margin: 20,
        maxSpeed: 5,
        scrollWhenOutside: true,
        autoScroll: function(){
            //Only scroll when the pointer is down, and there is a child being dragged.
            return this.down && kanban.drake.dragging;
        }
    }
);

Works like a charm!

Hello, thanks for solution,but, no charm with me... have a new solution today ??

JCD5flow avatar Dec 09 '21 14:12 JCD5flow

Since original dragula's issue is currently open. I fear there's no solution yet.

marcosrocha85 avatar Dec 09 '21 19:12 marcosrocha85

Since original dragula's issue is currently open. I fear there's no solution yet.

Thanks a lot for your answer, I'll wait the great solution !

JCD5flow avatar Dec 10 '21 08:12 JCD5flow

With dragula not being maintained for the last few years, and with jkanban being built on top of it, maybe it's time to decouple/abstract it from the code and allow Sortable and others like html5 scrolling libs to be plugged in?

I know it's built on dragula for most everything....but...there are at least two/maybe three real show-stopping scroll items in jkanban when trying to drag or scroll, even just in the drag container, both on regular laptops and on any mobile/touch device.

Limits the use of this library, even as a bounty software.

Cheers,

WriterStat avatar Jun 14 '22 09:06 WriterStat

Great news! I've got a nice solution. Using this library: https://www.npmjs.com/package/dom-autoscroller

        var kanban = new jKanban({
            dragBoards: false,
            element:'#kanban',
        });

autoScroll([
        document.querySelector('.kanban-container')
    ],{
        margin: 20,
        maxSpeed: 5,
        scrollWhenOutside: true,
        autoScroll: function(){
            //Only scroll when the pointer is down, and there is a child being dragged.
            return this.down && kanban.drake.dragging;
        }
    }
);

Works like a charm!

Hello, thanks for solution,but, no charm with me... have a new solution today ??

try using autoScroll([ this ],{ margin: 20, maxSpeed: 5, scrollWhenOutside: true, autoScroll: function(){ //Only scroll when the pointer is down, and there is a child being dragged. return this.down && kanban.drake.dragging; } } );

worstenbrood avatar Mar 16 '23 12:03 worstenbrood