*/\r
package com.google.gwt.query.client;\r
\r
+import static com.google.gwt.query.client.Effects.Effects;\r
+import static com.google.gwt.query.client.Events.Events;\r
+\r
import com.google.gwt.core.client.GWT;\r
import com.google.gwt.core.client.JavaScriptObject;\r
import com.google.gwt.core.client.JsArrayString;\r
import com.google.gwt.dom.client.SelectElement;\r
import com.google.gwt.dom.client.Style;\r
import com.google.gwt.dom.client.TextAreaElement;\r
-import static com.google.gwt.query.client.Effects.Effects;\r
-import static com.google.gwt.query.client.Events.Events;\r
import com.google.gwt.query.client.css.CssProperty;\r
import com.google.gwt.query.client.css.Length;\r
import com.google.gwt.query.client.css.Percentage;\r
}\r
\r
public static final Element window = window();\r
+ public static final Document document = Document.get();\r
\r
public static boolean fxOff = false;\r
\r
if (selectorOrHtml.trim().charAt(0) == '<') {\r
return innerHtml(selectorOrHtml);\r
}\r
- return $(selectorOrHtml, Document.get());\r
+ return $(selectorOrHtml, document);\r
}\r
\r
public static <T extends GQuery> T $(T gq) {\r
* reference to a plugin to be used.\r
*/\r
public static <T extends GQuery> T $(String selector, Class<T> plugin) {\r
- try {\r
- if (plugins != null) {\r
- T gquery = (T) plugins.get(plugin).init($(selector, Document.get()));\r
- return gquery;\r
- }\r
- throw new RuntimeException("No plugin for class " + plugin);\r
- } catch (Exception e) {\r
- throw new RuntimeException(e);\r
- }\r
+ return $(selector, null, plugin);\r
}\r
\r
/**\r
* element containing those elements. The second parameter is the context to\r
* use for the selector. The third parameter is the class plugin to use.\r
*/\r
- public static <T extends GQuery> GQuery $(String selector, Node context,\r
+ public static <T extends GQuery> T $(String selector, Node context,\r
Class<T> plugin) {\r
try {\r
if (plugins != null) {\r
* Trigger a blur event.\r
*/\r
public GQuery blur() {\r
- return trigger(Document.get().createBlurEvent(), null);\r
+ return trigger(document.createBlurEvent(), null);\r
}\r
\r
/**\r
* Trigger a change event.\r
*/\r
public GQuery change() {\r
- return trigger(Document.get().createChangeEvent(), null);\r
+ return trigger(document.createChangeEvent(), null);\r
}\r
\r
/**\r
*/\r
public GQuery click() {\r
return trigger(\r
- Document.get().createClickEvent(0, 0, 0, 0, 0, false, false, false,\r
+ document.createClickEvent(0, 0, 0, 0, 0, false, false, false,\r
false), null);\r
}\r
\r
*/\r
public GQuery dblclick() {\r
return trigger(\r
- Document.get().createDblClickEvent(0, 0, 0, 0, 0, false, false, false,\r
+ document.createDblClickEvent(0, 0, 0, 0, 0, false, false, false,\r
false), null);\r
}\r
\r
* Trigger an error event.\r
*/\r
public GQuery error() {\r
- return trigger(Document.get().createErrorEvent(), null);\r
+ return trigger(document.createErrorEvent(), null);\r
}\r
\r
/**\r
* Trigger a focus event.\r
*/\r
public GQuery focus() {\r
- return trigger(Document.get().createFocusEvent(), null);\r
+ return trigger(document.createFocusEvent(), null);\r
}\r
\r
/**\r
*/\r
public GQuery keydown() {\r
return trigger(\r
- Document.get().createKeyDownEvent(false, false, false, false, 0, 0),\r
+ document.createKeyDownEvent(false, false, false, false, 0, 0),\r
null);\r
}\r
\r
*/\r
public GQuery keypress() {\r
return trigger(\r
- Document.get().createKeyPressEvent(false, false, false, false, 0, 0),\r
+ document.createKeyPressEvent(false, false, false, false, 0, 0),\r
null);\r
}\r
\r
*/\r
public GQuery keyup() {\r
return trigger(\r
- Document.get().createKeyUpEvent(false, false, false, false, 0, 0),\r
+ document.createKeyUpEvent(false, false, false, false, 0, 0),\r
null);\r
}\r
\r
}\r
int boxtop = getClientBoundingRectTop(get(0));\r
int boxleft = getClientBoundingRectLeft(get(0));\r
- Element docElem = Document.get().getDocumentElement();\r
- Element body = Document.get().getBody();\r
+ Element docElem = document.getDocumentElement();\r
+ Element body = document.getBody();\r
int clientTop = docElem.getPropertyInt("clientTop");\r
if (clientTop == 0) {\r
clientTop = body.getPropertyInt("clientTop");\r
*/\r
public GQuery offsetParent() {\r
Element offParent = SelectorEngine.\r
- or(elements.getItem(0).getOffsetParent(), Document.get().getBody());\r
+ or(elements.getItem(0).getOffsetParent(), document.getBody());\r
while (offParent != null && !"body".equalsIgnoreCase(offParent.getTagName())\r
&& !"html".equalsIgnoreCase(offParent.getTagName()) && "static".\r
equals(curCSS(offParent, "position"))) {\r
JSArray result = JSArray.create();\r
for (Element e : elements()) {\r
Node par = e.getParentNode();\r
- while (par != null && par != Document.get()) {\r
+ while (par != null && par != document) {\r
result.addNode(par);\r
par = par.getParentNode();\r
}\r
*/\r
public GQuery scrollLeft(int left) {\r
for (Element e : elements()) {\r
- if (e == window() || e == (Node) Document.get()) {\r
+ if (e == window || e == (Node) document) {\r
Window.scrollTo(left, $(e).scrollTop());\r
} else {\r
e.setPropertyInt("scrollLeft", left);\r
*/\r
public int scrollLeft() {\r
Element e = get(0);\r
- if (e == window()) {\r
+ if (e == window) {\r
return Window.getScrollLeft();\r
- } else if (e == (Node) Document.get()) {\r
- return Document.get().getScrollLeft();\r
+ } else if (e == (Node) document) {\r
+ return document.getScrollLeft();\r
} else {\r
return e.getScrollLeft();\r
}\r
*/\r
public GQuery scrollTop(int top) {\r
for (Element e : elements()) {\r
- if (e == window() || e == (Node) Document.get()) {\r
+ if (e == window || e == (Node) document) {\r
Window.scrollTo($(e).scrollLeft(), top);\r
} else {\r
e.setPropertyInt("scrollTop", top);\r
*/\r
public int scrollTop() {\r
Element e = get(0);\r
- if (e == window()) {\r
+ if (e == window) {\r
return Window.getScrollTop();\r
- } else if (e == (Node) Document.get()) {\r
- return Document.get().getScrollTop();\r
+ } else if (e == (Node) document) {\r
+ return document.getScrollTop();\r
} else {\r
return e.getScrollTop();\r
}\r
}\r
\r
public GQuery select() {\r
- return trigger(Document.get().createHtmlEvent("select", false, false),\r
+ return trigger(document.createHtmlEvent("select", false, false),\r
null);\r
}\r
\r
}\r
\r
public GQuery submit() {\r
- return trigger(Document.get().createHtmlEvent("submit", false, false),\r
+ return trigger(document.createHtmlEvent("submit", false, false),\r
null);\r
}\r
\r
public GQuery toggle(final Function... fn) {\r
return click(new Function() {\r
int click = 0;\r
-\r
- @Override\r
public boolean f(Event e) {\r
return fn[(click++ % fn.length)].f(e);\r
}\r
public String toString(boolean pretty) {\r
String r = "";\r
for (Element e : elements()) {\r
+ if (e == window || e == (Node)document) {\r
+ continue;\r
+ }\r
r += (pretty && r.length() > 0 ? "\n " : "") + e.getString();\r
}\r
return r;\r
postWrap = "</colgroup></table>";\r
}\r
// TODO: fix IE link tag serialization\r
- Element div = Document.get().createDivElement();\r
+ Element div = document.createDivElement();\r
div.setInnerHTML(preWrap + elem + postWrap);\r
Node n = div;\r
while (wrapPos-- != 0) {\r
windowData = JavaScriptObject.createObject().cast();\r
dataCache = JavaScriptObject.createObject().cast();\r
}\r
- item = item == window() ? windowData : item;\r
+ item = item == window ? windowData : item;\r
if (item == null) {\r
return value;\r
}\r
windowData = JavaScriptObject.createObject().cast();\r
dataCache = JavaScriptObject.createObject().cast();\r
}\r
- item = item == window() ? windowData : item;\r
+ item = item == window ? windowData : item;\r
int id = item.hashCode();\r
if (name != null) {\r
if (!dataCache.exists(id)) {\r