We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon
Unfortunately, activation email could not send to your email. Please try again.
Essential JS2

Syncfusion jQuery based widgets are no longer in active development. Switch to our pure JavaScript based next generation Essential JS 2 library.

Syncfusion Feedback

How to calculate the width of the node based on it's label

Platform: jQuery |
Control: ejDiagram

Calculate Node width based on annotation bounds

The textChange event in the diagram will get invoked when changes happened in the label. Using this event, calculate the size of the node based on the changes in the label.

Please refer to the code example and sample link as follows.

JS

function labelChanged(evt) { 
 if (!evt.element.segments) {
     var diagram = $("#diagram").ejDiagram("instance");
     var node = evt.element;
     var labelElement = document.getElementById(node.name+"_"+evt.label.name);
       var oldContent = labelElement.innerHTML;
       labelElement.innerHTML = evt.value;
       labelElement.parentNode.style.display = "block"
     var rect = labelElement.getBoundingClientRect();
       labelElement.innerHTML = oldContent;
       labelElement.parentNode.style.display = "none";
     
       diagram.updateNode(node.name, {width: rect.width});
     if(rect.height > node.height){
       diagram.updateNode(node.name, {height: rect.height});
     }
     
 }
}
 
$("#diagram").ejDiagram({
            width: "100%",
            height: "600px",
            nodes: nodes,
            //textChangeEvent
            textChange: labelChanged,
        },
        });
 

 

Sample link:

https://jsplayground.syncfusion.com/mhvh5wyh

ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile