Drop Handler for an empty tree


I have a bit of a problem. My application allow users to drag and drop items between two trees. This action represents the assignment of a service from a list of available services to a user.

To give you an idea what I’m talking about:

I’ve been working on a drop handler to process the drop and to also give the user some visual indication of where the can drop services. The tree at the top does not accept services, since it lists services that have already been provisioned; only the tree labeled “pending services” will accept services.

The drop handler works fine; users can drag and drop items into the pending services tree and the standard blue Vaadin “drop-handle hint” appears to indicate they can drop an item into the tree:

However, this only works if there’s something already IN the tree. If the tree is empty, as shown in the first image, the drop part of the handler works fine; but the acceptCriterion does not; at least in the sense that while the tree does accept the item; it never shows the “drop-handle hint”. This poses the problem that the user doesn’t really get any feedback that he CAN drop the item there; he just kind of “has to know”.

I also tried changing the color of the border of the pending services tree in the AcceptCriterion to give users a hint that they could drop an item into that part of the screen. Again: same problem - it works if there’s something already in the tree, but if the tree is empty, the AcceptCriterion, while appearing to work fine based on debug statements, does not actually change the visual color of the tree.

Which makes me wonder - what is happening with a tree that’s empty? It’s almost as if it’s not really “on the page”, so-to-speak. It’s almost as if the visual rectangle is a place-holder for the tree and the tree doesn’t actually appear on the page until it has contents.

Any ideas?