swiety85 / angular2gridster

Angular implementation of well known Gridster (no jQuery, no external libraries, only Angular and Rx.js).
https://swiety85.github.io/angular2gridster/
MIT License
203 stars 75 forks source link

GridsterItem displacement inconsistent #63

Open HyenaCros opened 7 years ago

HyenaCros commented 7 years ago

Dragging an item into another has different effects based on the direction dragged from. Dragging from the left causes the displaced item to jump to the left side of the dragged item. Dragging from the right pushes the displaced item to the left until it can return to its original position. The only time you can push to the right instead of swapping is if there is not enough space for the displaced item. You can see this in the demo. ░█←■░ becomes ░█■←░ ░■→█░ becomes ░→█■░ As for intended functionality, is it supposed to swap or push?

swiety85 commented 7 years ago

This is very interesting question.. :-) I didn't recognised it as a bug. This algorithm for rearranging items position is a legacy of origin library: GridList. This behaviour is exactly the same in their native solution. Question is if it's wrong.. If I would have to guess what's more correct I would make it to first try to push and then (if there is not enough space) swipe for both dragging directions. From my point of view it seams to not be critical issue, so I would plan to fix it on v.0.8 or later (like in couple months). Is it ok? How urgent it is for you?

HyenaCros commented 7 years ago

It's not urgent at all, I was just wondering about the inconsistency. Feel free to put it off