This repository has been archived on 2024-05-07. You can view files and clone it, but cannot push or open issues or pull requests.
species-discovery/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/util/JavascriptInjector.java

39 lines
1.1 KiB
Java

package org.gcube.portlets.user.speciesdiscovery.client.util;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.HeadElement;
import com.google.gwt.dom.client.ScriptElement;
/**
* @author "Federico De Faveri defaveri@isti.cnr.it"
*
*/
public class JavascriptInjector {
private static HeadElement head;
public static void inject(String javascript) {
HeadElement head = getHead();
ScriptElement element = createScriptElement();
element.setText(javascript);
head.appendChild(element);
}
private static ScriptElement createScriptElement() {
ScriptElement script = Document.get().createScriptElement();
script.setAttribute("language", "javascript");
return script;
}
private static HeadElement getHead() {
if (head == null) {
Element element = Document.get().getElementsByTagName("head").getItem(0);
assert element != null : "HTML Head element required";
HeadElement head = HeadElement.as(element);
JavascriptInjector.head = head;
}
return JavascriptInjector.head;
}
}