File tree Expand file tree Collapse file tree 2 files changed +40
-3
lines changed
src/Blazor.Diagrams/Components/Renderers
tests/Blazor.Diagrams.Tests/Components Expand file tree Collapse file tree 2 files changed +40
-3
lines changed Original file line number Diff line number Diff line change 1
- using System ;
2
- using System . Text ;
3
- using System . Threading . Tasks ;
1
+ using System . Text ;
4
2
using Blazor . Diagrams . Core . Extensions ;
5
3
using Blazor . Diagrams . Core . Geometry ;
6
4
using Blazor . Diagrams . Core . Models ;
@@ -129,6 +127,9 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
129
127
130
128
protected override async Task OnAfterRenderAsync ( bool firstRender )
131
129
{
130
+ if ( firstRender && ! Node . Visible )
131
+ return ;
132
+
132
133
if ( firstRender || _becameVisible )
133
134
{
134
135
_becameVisible = false ;
Original file line number Diff line number Diff line change
1
+ using Blazor . Diagrams . Components . Renderers ;
2
+ using Blazor . Diagrams . Core . Geometry ;
3
+ using Blazor . Diagrams . Core . Models ;
4
+ using Bunit ;
5
+ using Xunit ;
6
+
7
+ namespace Blazor . Diagrams . Tests . Components ;
8
+
9
+ public class NodeRendererTests
10
+ {
11
+
12
+ [ Fact ]
13
+ public void NodeRenderer_WhenNodeVisibleIsFalseAndIsFirstRender_ShouldNotObserveResizes ( )
14
+ {
15
+ // Arrange
16
+ JSRuntimeInvocationHandler call ;
17
+ using ( var ctx = new TestContext ( ) )
18
+ {
19
+ ctx . JSInterop . Setup < Rectangle > ( "ZBlazorDiagrams.getBoundingClientRect" , _ => true ) ;
20
+ call = ctx . JSInterop . SetupVoid ( "ZBlazorDiagrams.observe" , _ => true ) . SetVoidResult ( ) ;
21
+
22
+ // Act
23
+ var cut = ctx . RenderComponent < NodeRenderer > ( p =>
24
+ {
25
+ p . Add ( n => n . BlazorDiagram , new BlazorDiagram ( ) ) ;
26
+ p . Add ( n => n . Node , new NodeModel ( )
27
+ {
28
+ Visible = false
29
+ } ) ;
30
+ } ) ;
31
+ }
32
+
33
+ // Assert
34
+ call . VerifyNotInvoke ( "ZBlazorDiagrams.observe" ) ;
35
+ }
36
+ }
You can’t perform that action at this time.
0 commit comments