diagram element getX()

UI Components for JSF
Post Reply
zsuiqiang
Posts: 146
Joined: 13 Sep 2010, 03:52

27 Apr 2015, 02:37

in page

Code: Select all

<p:commandButton value="save" actionListener="#{processDesigner.save}" process="@this,diagram" update="message" icon="ui-icon-disk"/>
<p:diagram id="diagram" value="#{processDesigner.model }" style="height:500px" styleClass="ui-widget-content" var="node">
      <p:ajax event="connect" listener="#{processDesigner.onConnect}" update="connections"/>
      <p:ajax event="disconnect" listener="#{processDesigner.onDisconnect}"  update="connections"/>
      <p:ajax event="connectionChange" listener="#{processDesigner.onConnectionChange}"  update="connections"/>
</p:diagram> 
I initialize :

Code: Select all

private void init(){
model = new DefaultDiagramModel();
        model.setMaxConnections(-1);
        
        FlowChartConnector connector = new FlowChartConnector();
        connector.setPaintStyle("{strokeStyle:'#C7B097',lineWidth:3}");
        model.setDefaultConnector(connector);
        
        Element start = new Element("Fight for your dream", "20em", "6em");
        start.addEndPoint(new BlankEndPoint(EndPointAnchor.BOTTOM));
        start.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        
        Element trouble = new Element("Do you meet some trouble?", "20em", "18em");
        trouble.addEndPoint(new BlankEndPoint(EndPointAnchor.TOP));
        trouble.addEndPoint(new BlankEndPoint(EndPointAnchor.BOTTOM));
        trouble.addEndPoint(new BlankEndPoint(EndPointAnchor.RIGHT));
        
        Element giveup = new Element("Do you give up?", "20em", "30em");
        giveup.addEndPoint(new BlankEndPoint(EndPointAnchor.TOP));
        giveup.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        giveup.addEndPoint(new BlankEndPoint(EndPointAnchor.RIGHT));
        
        Element succeed = new Element("Succeed", "50em", "18em");
        succeed.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        succeed.setStyleClass("ui-diagram-success");
        
        Element fail = new Element("Fail", "50em", "30em");
        fail.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        fail.setStyleClass("ui-diagram-fail");
                        
        model.addElement(start);
        model.addElement(trouble);
        model.addElement(giveup);
        model.addElement(succeed);
        model.addElement(fail);
                
        model.connect(createConnection(start.getEndPoints().get(0), trouble.getEndPoints().get(0), null));
        model.connect(createConnection(trouble.getEndPoints().get(1), giveup.getEndPoints().get(0), "Yes"));
        model.connect(createConnection(giveup.getEndPoints().get(1), start.getEndPoints().get(1), "No"));
        model.connect(createConnection(trouble.getEndPoints().get(2), succeed.getEndPoints().get(0), "No"));
        model.connect(createConnection(giveup.getEndPoints().get(2), fail.getEndPoints().get(0), "Yes"));
}

    public void save(ActionEvent e) {
        for (ProcessNode pn : process.getNodes()) {
            Element element = elementMap.get(pn.getId());
            pn.setX(element.getX());
            pn.setY(element.getY());
        }
    }
after i graged element,i call element.getX() ,and i get the original value . but i want the value after drag.
Last edited by zsuiqiang on 25 Jun 2015, 06:53, edited 2 times in total.
primefaces:jakarta:12.0.0.jar,
primefaces-ext:jakarta:12.0.0.jar,
JSF Mojarra 3.0
glassfish-6.2.5,
netbeans 14
IDEA 2022.2.2
Browser: Edge

kukeltje
Expert Member
Posts: 9605
Joined: 17 Jun 2010, 13:34
Location: Netherlands

27 Apr 2015, 10:50

Who, what, where, when... please elaborate

zsuiqiang
Posts: 146
Joined: 13 Sep 2010, 03:52

04 Jul 2015, 03:21

in page

Code: Select all

<p:commandButton value="save" actionListener="#{processDesigner.save}" process="@this,diagram" update="message" icon="ui-icon-disk"/>
<p:diagram id="diagram" value="#{processDesigner.model }" style="height:500px" styleClass="ui-widget-content" var="node">
      <p:ajax event="connect" listener="#{processDesigner.onConnect}" update="connections"/>
      <p:ajax event="disconnect" listener="#{processDesigner.onDisconnect}"  update="connections"/>
      <p:ajax event="connectionChange" listener="#{processDesigner.onConnectionChange}"  update="connections"/>
</p:diagram> 
I initialize :

Code: Select all

private void init(){
model = new DefaultDiagramModel();
        model.setMaxConnections(-1);
        
        FlowChartConnector connector = new FlowChartConnector();
        connector.setPaintStyle("{strokeStyle:'#C7B097',lineWidth:3}");
        model.setDefaultConnector(connector);
        
        Element start = new Element("Fight for your dream", "20em", "6em");
        start.addEndPoint(new BlankEndPoint(EndPointAnchor.BOTTOM));
        start.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        
        Element trouble = new Element("Do you meet some trouble?", "20em", "18em");
        trouble.addEndPoint(new BlankEndPoint(EndPointAnchor.TOP));
        trouble.addEndPoint(new BlankEndPoint(EndPointAnchor.BOTTOM));
        trouble.addEndPoint(new BlankEndPoint(EndPointAnchor.RIGHT));
        
        Element giveup = new Element("Do you give up?", "20em", "30em");
        giveup.addEndPoint(new BlankEndPoint(EndPointAnchor.TOP));
        giveup.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        giveup.addEndPoint(new BlankEndPoint(EndPointAnchor.RIGHT));
        
        Element succeed = new Element("Succeed", "50em", "18em");
        succeed.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        succeed.setStyleClass("ui-diagram-success");
        
        Element fail = new Element("Fail", "50em", "30em");
        fail.addEndPoint(new BlankEndPoint(EndPointAnchor.LEFT));
        fail.setStyleClass("ui-diagram-fail");
                        
        model.addElement(start);
        model.addElement(trouble);
        model.addElement(giveup);
        model.addElement(succeed);
        model.addElement(fail);
                
        model.connect(createConnection(start.getEndPoints().get(0), trouble.getEndPoints().get(0), null));
        model.connect(createConnection(trouble.getEndPoints().get(1), giveup.getEndPoints().get(0), "Yes"));
        model.connect(createConnection(giveup.getEndPoints().get(1), start.getEndPoints().get(1), "No"));
        model.connect(createConnection(trouble.getEndPoints().get(2), succeed.getEndPoints().get(0), "No"));
        model.connect(createConnection(giveup.getEndPoints().get(2), fail.getEndPoints().get(0), "Yes"));
}

    public void save(ActionEvent e) {
        for (ProcessNode pn : process.getNodes()) {
            Element element = elementMap.get(pn.getId());
            pn.setX(element.getX());
            pn.setY(element.getY());
        }
    }
after i graged element,i call element.getX() ,and i get the original value . but i want the value after drag.
primefaces:jakarta:12.0.0.jar,
primefaces-ext:jakarta:12.0.0.jar,
JSF Mojarra 3.0
glassfish-6.2.5,
netbeans 14
IDEA 2022.2.2
Browser: Edge

sergio.iraheta
Posts: 2
Joined: 13 Oct 2015, 22:20

13 Oct 2015, 23:04

Hi zsuiqiang,

I am just trying of getting the position value (x,y) after drag a element in the diagram.

know you solution?

Please, help me?


Regards.

Sergio

smatiz
Posts: 3
Joined: 27 Sep 2014, 18:49

24 Apr 2017, 02:49

I have the same issue , there are any solution?

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 39 guests