]> source.dussan.org Git - vaadin-framework.git/commitdiff
IE compatible html5 dd listeners
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 4 Feb 2010 10:37:13 +0000 (10:37 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 4 Feb 2010 10:37:13 +0000 (10:37 +0000)
svn changeset:11132/svn branch:6.3_dd

src/com/vaadin/terminal/gwt/client/ui/VDragDropPane.java

index c5c10c4155e13f733a06cfc416ed800c83ac6f3e..aba47796797fc4daf907b4b0d676939e234d9a80 100644 (file)
@@ -70,23 +70,42 @@ public class VDragDropPane extends VAbsoluteLayout implements Container,
     private native void hookHtml5Events(Element el)
     /*-{
 
-        var me = this;
-         
-        el.addEventListener("dragenter",  function(ev) {
-            return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragEnter(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
-        }, false);
+            var me = this;
+            
+            if(el.addEventListener) {
+                el.addEventListener("dragenter",  function(ev) {
+                    return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragEnter(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                }, false);
+                
+                el.addEventListener("dragleave",  function(ev) {
+                    return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragLeave(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                }, false);
         
-        el.addEventListener("dragleave",  function(ev) {
-            return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragLeave(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
-        }, false);
-
-        el.addEventListener("dragover",  function(ev) {
-            return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragOver(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
-        }, false);
-
-        el.addEventListener("drop",  function(ev) {
-            return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragDrop(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
-        }, false);
+                el.addEventListener("dragover",  function(ev) {
+                    return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragOver(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                }, false);
+        
+                el.addEventListener("drop",  function(ev) {
+                    return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragDrop(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                }, false);
+            
+            } else {
+                el.attachEvent("ondragenter",  function(ev) {
+                            return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragEnter(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                });
+                
+                el.attachEvent("ondragleave",  function(ev) {
+                        return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragLeave(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                });
+        
+                el.attachEvent("ondragover",  function(ev) {
+                    return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragOver(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                });
+        
+                el.attachEvent("ondrop",  function(ev) {
+                    return me.@com.vaadin.terminal.gwt.client.ui.VDragDropPane::html5DragDrop(Lcom/vaadin/terminal/gwt/client/ui/dd/VHtml5DragEvent;)(ev);
+                });
+            }
         
     }-*/;