Problem: Clicking an element in a Slip list without delay triggers a 'reorder' event. This happens because there is no detection whether the element actually gets dragged around or if it's released in the same place it was before. This causes some implications:
Triggers unnecessary 'onreorder' based logic (In my case, heavy combination calculations take place when elements are reordered).
Blocks clicks when my #103 workaround is used.
What should happen: clicking raises a click, reorder should only be raised when the element is actually dragged around.
To solve: Some dragging checks before putting Slip into reorder state. My workaround is the following code in the 'undecided' state:
var delayed = true;
if (!this.dispatch(this.target.originalTarget, 'beforewait', {'isTouch': isTouch})) {
if (this.dispatch(this.target.originalTarget, 'beforereorder')) {
delayed = false;
//this.setState(this.states.reorder);
}
...
onMove: function() {
var move = this.getAbsoluteMovement();
if (!delayed && move.y > 5) {
this.setState(this.states.reorder);
}
Problem: Clicking an element in a Slip list without delay triggers a 'reorder' event. This happens because there is no detection whether the element actually gets dragged around or if it's released in the same place it was before. This causes some implications:
What should happen: clicking raises a click, reorder should only be raised when the element is actually dragged around.
To solve: Some dragging checks before putting Slip into reorder state. My workaround is the following code in the 'undecided' state:
...
I've seen some bugs in this workaround though.