@@ -831,18 +831,30 @@ class EdgeEditor extends UNISYS.Component {
831831 // special override to allow editing an edge that has the same parent node for both source and target
832832 let sameSourceAndTarget = ( sourceNode . label === this . props . parentNodeLabel ) &&
833833 ( targetNode . label === this . props . parentNodeLabel ) ;
834+
835+ // Optimize Edge Loading
836+ // If not expanded, just show the button
837+ // Only bother to render the whole EdgeEditor if the Edge is being edited
838+ // This speeds up render times by almost 2 seconds
839+ if ( ! this . state . isExpanded ) {
840+ return (
841+ < div >
842+ < Button
843+ outline
844+ size = "sm"
845+ style = { { backgroundColor : "#a9d3ff" , borderColor : 'transparent' , width : '100%' , marginBottom : '3px' , textAlign : "left" , overflow : "hidden" } }
846+ onClick = { this . onButtonClick }
847+ > { parentNodeLabel === sourceNode . label ? me : sourceNode . label }
848+ < span title = { formData . relationship } > ➔</ span >
849+ { parentNodeLabel === targetNode . label ? me : targetNode . label }
850+ </ Button >
851+ </ div >
852+ ) ;
853+ }
854+
834855 return (
835856 < div >
836857
837- < Button
838- className = { this . state . isExpanded ?'d-none' :'' }
839- outline
840- size = "sm"
841- style = { { backgroundColor :"#a9d3ff" , borderColor :'transparent' , width :'100%' , marginBottom :'3px' , textAlign :"left" , overflow : "hidden" } }
842- onClick = { this . onButtonClick }
843- > { parentNodeLabel === sourceNode . label ? me : sourceNode . label }
844- < span title = { formData . relationship } > ➔</ span >
845- { parentNodeLabel === targetNode . label ? me : targetNode . label } </ Button >
846858 < div className = { this . state . isExpanded ?'' :'d-none' } >
847859 < Form className = "nodeEntry"
848860 style = { { backgroundColor :"#C9E1FF" , minHeight :'300px' , padding :'5px' , marginBottom :'10px' } }
0 commit comments