package com.wilutions.itol.db;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Platform;
import javafx.scene.Node;
import javafx.scene.web.WebView;
import netscape.javascript.JSObject;
public class IssueEditorWebView implements IssuePropertyEditor {
private Logger log = Logger.getLogger("IssueHtmlEditorWebView");
private String htmlContent;
private String elementId;
private WebView webView = new WebView();
public String getHtmlContent() {
return htmlContent;
}
public void setHtmlContent(String htmlContent) {
this.htmlContent = htmlContent;
}
public String getElementId() {
return elementId;
}
public void setElementId(String elementId) {
this.elementId = elementId;
}
@SuppressWarnings("unused")
private JSObject getTextarea() {
JSObject elm = null;
String elementId = getElementId();
String scriptToGetDescription = "document.getElementById('" + elementId + "')";
try {
elm = (JSObject) webView.getEngine().executeScript(scriptToGetDescription);
}
catch (Throwable e) {
log.log(Level.WARNING, "", e);
}
return elm;
}
@Override
public Node getNode() {
return webView;
}
@Override
public void setFocus() {
webView.requestFocus();
try {
Platform.runLater(() -> {
String elementId = getElementId();
String scriptToFocusControl = "document.getElementById('" + elementId + "').focus()";
try {
webView.getEngine().executeScript(scriptToFocusControl);
}
catch (Throwable e) {
log.log(Level.WARNING, "", e);
}
});
}
catch (Exception e) {
}
}
@Override
public void updateData(boolean save) {
}
@Override
public void setIssue(Issue issue) {
}
}