Ich habe das Beispieldiagramm von der primefaces Schaufenster implementiert. Ich habe eine andere Schaltfläche, die die Elemente löscht, und ich möchte, dass dies auch den tatsächlichen Wert des Diagramms selbst aktualisiert. Dies würde entweder erfordern, dass ich eine Aktualisierung von einem anderen xhtml-Element (die Schaltfläche) auslösen würde, oder 2. setze den Wert des Diagramms aus JavaScript. Das Problem hier ist, dass ich dafür das Diagrammmodell-Objekt von der ManagedBean holen müsste. Nach dem, was ich gefunden habe, können Sie eine managedbean-Methode mit remoteCommand aufrufen, aber Sie können damit keinen Wert von der Bean selbst zurück an das JavaScript übergeben.Update-Wert eines p: Diagramm von Javascript
Im Wesentlichen, wäre es möglich, das folgende zu bearbeiten, um das commandButton (oder einen anderen Typ von Komponente zu verwenden) den Diagrammwert zu aktualisieren?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head></h:head>
<script type="text/javascript">
function updateModel() {
//refresh diagram
}
</script>
<style type="text/css">
/* snip css */
</style>
<h:body>
<p:diagram id="diagram" value="#{diagramFlowChartView.model}" style="height:600px" styleClass="ui-widget-content" />
<h:form>
<p:commandButton style="margin: 3px;" icon="fa fa-key" value="Refresh" onclick="updateModel();"/>
</h:form>
</h:body>
</html>
Es spielt keine Rolle, ob diese durch die JS Block durchgeführt werden, die ich einrichten, oder wenn es eine Möglichkeit, das Diagrammelement zu zwingen, es ist Wert auf andere Weise zu aktualisieren.