dom - GWT Drag and Drop File Upload not working -


so have implemented simple drag , drop file upload widget. widget vertical panel couple of labels , button inside. user can either drag file vertical panel or click button , browse file.

my problem when drag file vertical panel fires dragleaveevent every time drag item on space labels or button occupies. want know item in vertical panel when on top of label or button. im sure missing simple. provide drag functionality adding these dom handlers vertical panel:

adddomhandler(new dragenterhandler() {             @override             public void ondragenter(dragenterevent event) {                 system.out.println("drag enter");                 highlight(true);             }         }, dragenterevent.gettype());  adddomhandler(new dragleavehandler() {             @override             public void ondragleave(dragleaveevent event) {                 system.out.println("drag leave");                 highlight(false);             }         }, dragleaveevent.gettype());  adddomhandler(new dragoverhandler() {             @override             public void ondragover(dragoverevent event) {             }         }, dragoverevent.gettype());  adddomhandler(new drophandler() {             @override             public void ondrop(dropevent event) {                 system.out.println("drop");                 // stop default behaviour                 event.preventdefault();                 event.stoppropagation();                  // starts fetching, reading , callbacks                 if (fileuploadhandler != null) {                     handlefiles(event.getdatatransfer(), fileuploadhandler);                 }                 highlight(false);             }         }, dropevent.gettype());     

check event target child (or grand child) of panel, or in case maybe rather whether event target panel's element:

if (verticalpanel.getelement().isorhaschild(node.as(event.getnativeevent().geteventtarget()))) {    // within panel (possibly on child) }  if (verticalpanel.getelement() == node.as(event.getnativeevent().geteventtarget())) {    // targetting panel (e.g. leaving panel, not 1 of children) } 

Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -