* @return the reusable dom query function
*/
public static DomQueryFunction compile(String selector, SelectorType type) {
String selectorType = type == null ? null : type.getType();
final JavaScriptObject fn = doCompile(selector, selectorType);
return new DomQueryFunction() {
public Element[] query() {
JavaScriptObject els = doQuery(fn);
return JavaScriptObjectHelper.toElementArray(els);
}
private native JavaScriptObject doQuery(JavaScriptObject fn) /*-{
return fn();
}-*/;
public Element[] query(Element root) {
JavaScriptObject els = doQuery(fn, root);
return JavaScriptObjectHelper.toElementArray(els);
}
private native JavaScriptObject doQuery(JavaScriptObject fn, Element root) /*-{
return fn(root);