SortableJS / knockout-sortablejs

A Knockout.js binding to SortableJS.
22 stars 19 forks source link

onMove return value not passed back to Sortablejs #14

Open crystalfp opened 3 years ago

crystalfp commented 3 years ago

I define a onMove function to prevent list sorting this way:

onMove(event) {
    console.log("onMove called");
    return false;
}

and pass it to knockout-sortablejs:

            <div data-bind="sortable: {foreach: documentList, options: {
                            onMove: $component.onMove,
                            handle: '.list-layout-handle'}}">

When I move an element, theonMove function is called, but the return value that should prevent sorting is ignored.

The solution seems to be adding a missing return to lines 79 and 81 this way:

                    if (handler)
                        return handler(e, itemVM, parentVM, collection, bindings);
                    if (eventHandlers[eventType])
                        return eventHandlers[eventType](e, itemVM, parentVM, collection, bindings);

Hope it can help mario