@@ -831,18 +831,30 @@ class EdgeEditor extends UNISYS.Component {
831
831
// special override to allow editing an edge that has the same parent node for both source and target
832
832
let sameSourceAndTarget = ( sourceNode . label === this . props . parentNodeLabel ) &&
833
833
( 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
+
834
855
return (
835
856
< div >
836
857
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 >
846
858
< div className = { this . state . isExpanded ?'' :'d-none' } >
847
859
< Form className = "nodeEntry"
848
860
style = { { backgroundColor :"#C9E1FF" , minHeight :'300px' , padding :'5px' , marginBottom :'10px' } }
0 commit comments