Hi Maxim,

After a quick test, 'revert' and 'accept' are enough (and convenient if you
have a css class for 'file'). But using 'scope' instead of 'accept' also
works, it's up to you...
I also confirm you that revert does not prevent #onDrop to be fired (even
used as a function)...

For instance:

- the droppable

    private Droppable<String> newDroppable(String id, String color, final
String scope)
    {
        return new Droppable<String>(id, Model.of(color)) {

            @Override
            public void onConfigure(JQueryBehavior behavior)
            {
                super.onConfigure(behavior);

                // behavior.setOption("scope", Options.asString(scope));
                behavior.setOption("accept", Options.asString("." +
scope)); // css class
            }
}

- the draggable

    private static Draggable<String> newDraggable(String id, String label,
final String scope)
    {
        return new Draggable<String>(id, Model.of(label)) {

            @Override
            public void onConfigure(JQueryBehavior behavior)
            {
                super.onConfigure(behavior);

                // behavior.setOption("scope", Options.asString(scope));
                behavior.setOption("revert", true); // or:
                // behavior.setOption("revert", "function(e) {
                // console.log('e', e); // e stands for the droppable
                // console.log('this', this); // this stands for the
draggable
                // if (this.hasClass('file')) { return true; } }"); // true
means "do revert"
            }
        };
    }

- html

            < div wicket:id="draggable1" class="file">
                my file
            < /div>
            < div wicket:id="draggable2" class="folder">
                my folder
            < /div>


Hope this helps,
Sebastien


On Fri, Jun 3, 2016 at 10:03 AM, Maxim Solodovnik <[email protected]>
wrote:

> Thanks a lot!
> I'll be on vacation next couple of week, will try to test on return :)
>

Reply via email to