package org.geogebra.web.html5.util; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.dom.client.Element; import com.google.gwt.dom.client.EventTarget; import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.dom.client.NodeList; import com.google.gwt.user.client.DOM; public class Dom extends DOM { /** * @param className * @return NodeList of elements found by className */ public static native NodeList<Element> getElementsByClassName( String className) /*-{ return $doc.getElementsByClassName(className); }-*/; /** * @param selector * @return Nodelist of elements found by the selector */ public static native NodeList<Element> querySelectorAll(String selector) /*-{ return $doc.querySelectorAll(selector); }-*/; /** * @param className * @return first Element found by selector className */ public static native Element querySelector(String className) /*-{ return $doc.querySelector("." + className); }-*/; /** * @param elem * the root element * @param className * @return first Element found by selector className */ public static native Element querySelectorForElement(JavaScriptObject elem, String className) /*-{ return elem.querySelector("." + className); }-*/; /** * * @param event * a native event * @param element * the element to be tested * @return true iff event targets the element or its children */ public static boolean eventTargetsElement(NativeEvent event, Element element) { EventTarget target = event.getEventTarget(); if (Element.is(target)) { return element.isOrHasChild(Element.as(target)); } return false; } }