11@page " /"
22
33@using Syncfusion .Blazor .Diagram
4- <input type =" button" value =" HorizontalPort" @onclick =" @HorizontalPort" />
5- <input type =" button" value =" HorizontalContent" @onclick =" @HorizontalContent" />
6- <input type =" button" value =" HorizontalAll" @onclick =" @HorizontalAll" />
7- <input type =" button" value =" HorizontalNone" @onclick =" @HorizontalNone" />
4+ @using Syncfusion .Blazor .DropDowns
5+ <SfDropDownList TItem =" FlipOption" TValue =" string"
6+ DataSource =" @FlipDirections"
7+ Placeholder =" Flip" >
8+ <DropDownListEvents TItem =" FlipOption" TValue =" string"
9+ ValueChange =" @FlipDirectionChange" />
10+ <DropDownListFieldSettings Text =" Name" Value =" Value" ></DropDownListFieldSettings >
11+ </SfDropDownList >
12+
13+ <SfDropDownList TItem =" FlipOption" TValue =" string"
14+ DataSource =" @FlipModes"
15+ Placeholder =" Flip" >
16+ <DropDownListEvents TItem =" FlipOption" TValue =" string"
17+ ValueChange =" @FlipModeChange" />
18+ <DropDownListFieldSettings Text =" Name" Value =" Value" ></DropDownListFieldSettings >
19+ </SfDropDownList >
820<SfDiagramComponent @ref =" diagram" Width =" 1000px" Height =" 1000px" Nodes =" @NodeCollection" Connectors =" @connectors" >
921 <SnapSettings Constraints =" @SnapConstraints.None" ></SnapSettings >
1022</SfDiagramComponent >
1628 public SfDiagramComponent diagram ;
1729 // Define diagram's nodes collection
1830 DiagramObjectCollection <Node > NodeCollection ;
31+ public class FlipOption
32+ {
33+ public string Name { get ; set ; }
34+ public string Value { get ; set ; } // Bound value
35+ }
36+
37+ List <FlipOption > FlipDirections = new ()
38+ {
39+ new FlipOption { Name = " None" , Value = " None" },
40+ new FlipOption { Name = " Horizontal" , Value = " Horizontal" },
41+ new FlipOption { Name = " Vertical" , Value = " Vertical" },
42+ new FlipOption { Name = " Both" , Value = " Both" }
43+ };
44+
45+ List <FlipOption > FlipModes = new ()
46+ {
47+ new FlipOption { Name = " None" , Value = " None" },
48+ new FlipOption { Name = " Content" , Value = " Content" },
49+ new FlipOption { Name = " Port" , Value = " Port" },
50+ new FlipOption { Name = " Text" , Value = " Text" },
51+ new FlipOption { Name = " PortAndLabelOnly" , Value = " LabelOnly" },
52+ new FlipOption { Name = " PortWithLabelText" , Value = " PortWithLabelText" },
53+ new FlipOption { Name = " LabelOnly" , Value = " LabelOnly" },
54+ new FlipOption { Name = " All" , Value = " All" }
55+ };
1956 protected override void OnInitialized ()
2057 {
2158 Node node3 = new Node ()
117154 };
118155 NodeCollection .Add (groupNode );
119156 }
120- // Method to flip the port horizontally
121- public void HorizontalPort ()
122- {
123- if (diagram .SelectionSettings .Nodes .Count > 0 )
124- {
125- for (int i = 0 ; i < diagram .SelectionSettings .Nodes .Count ; i ++ )
126- {
127- diagram .SelectionSettings .Nodes [i ].FlipMode = DiagramFlipMode .Port ;
128- if (diagram .SelectionSettings .Nodes [i ].Flip .HasFlag (FlipDirection .Horizontal ))
129- {
130- diagram .SelectionSettings .Nodes [i ].Flip &= ~ FlipDirection .Horizontal ;
131- }
132- else
133- {
134- diagram .SelectionSettings .Nodes [i ].Flip |= FlipDirection .Horizontal ;
135- }
136- }
137- }
138- }
139- // Method to flip the content horizontally
140- public void HorizontalContent ()
141- {
142- if (diagram .SelectionSettings .Nodes .Count > 0 )
143- {
144- for (int i = 0 ; i < diagram .SelectionSettings .Nodes .Count ; i ++ )
145- {
146- diagram .SelectionSettings .Nodes [i ].FlipMode = DiagramFlipMode .Content ;
147- if (diagram .SelectionSettings .Nodes [i ].Flip .HasFlag (FlipDirection .Horizontal ))
148- {
149- diagram .SelectionSettings .Nodes [i ].Flip &= ~ FlipDirection .Horizontal ;
150- }
151- else
152- {
153- diagram .SelectionSettings .Nodes [i ].Flip |= FlipDirection .Horizontal ;
154- }
155- }
156- }
157- }
158- // Method to flip the content and port horizontally
159- public void HorizontalAll ()
160- {
161- if (diagram .SelectionSettings .Nodes .Count > 0 )
162- {
163- for (int i = 0 ; i < diagram .SelectionSettings .Nodes .Count ; i ++ )
164- {
165- diagram .SelectionSettings .Nodes [i ].FlipMode = DiagramFlipMode .All ;
166- if (diagram .SelectionSettings .Nodes [i ].Flip .HasFlag (FlipDirection .Horizontal ))
167- {
168- diagram .SelectionSettings .Nodes [i ].Flip &= ~ FlipDirection .Horizontal ;
169- }
170- else
171- {
172- diagram .SelectionSettings .Nodes [i ].Flip |= FlipDirection .Horizontal ;
173- }
174- }
175- }
176- }
177- public void HorizontalNone ()
178- {
179- if (diagram .SelectionSettings .Nodes .Count > 0 )
180- {
181- for (int i = 0 ; i < diagram .SelectionSettings .Nodes .Count ; i ++ )
182- {
183- diagram .SelectionSettings .Nodes [i ].FlipMode = DiagramFlipMode .None ;
184- if (diagram .SelectionSettings .Nodes [i ].Flip .HasFlag (FlipDirection .Horizontal ))
185- {
186- diagram .SelectionSettings .Nodes [i ].Flip &= ~ FlipDirection .Horizontal ;
187- }
188- else
189- {
190- diagram .SelectionSettings .Nodes [i ].Flip |= FlipDirection .Horizontal ;
191- }
192- }
193- }
194- }
157+ // This method applys flipDirection to the selected node's
158+ public void FlipDirectionChange (ChangeEventArgs < string , FlipOption > args )
159+ {
160+ diagram .StartGroupAction ();
161+
162+ if (diagram .SelectionSettings .Nodes .Count > 0 )
163+ {
164+ for (int i = 0 ; i < diagram .SelectionSettings .Nodes .Count ; i ++ )
165+ {
166+ diagram .SelectionSettings .Nodes [i ].Flip = (FlipDirection )Enum .Parse (typeof (FlipDirection ), args .Value .ToString ());
167+ }
168+ }
169+ for (int i = 0 ; i < diagram .SelectionSettings .Connectors .Count ; i ++ )
170+ {
171+ diagram .SelectionSettings .Connectors [i ].Flip = (FlipDirection )Enum .Parse (typeof (FlipDirection ), args .Value .ToString ());
172+ }
173+ diagram .EndGroupAction ();
174+
175+ }
176+
177+ // This method apply's diagramFLipMode to the selected node's
178+ public void FlipModeChange (ChangeEventArgs < string , FlipOption > args )
179+ {
180+ diagram .StartGroupAction ();
181+
182+ if (diagram .SelectionSettings .Nodes .Count > 0 )
183+ {
184+ for (int i = 0 ; i < diagram .SelectionSettings .Nodes .Count ; i ++ )
185+ {
186+ diagram .SelectionSettings .Nodes [i ].FlipMode = (DiagramFlipMode )Enum .Parse (typeof (DiagramFlipMode ), args .Value .ToString ());
187+ }
188+ }
189+
190+ diagram .EndGroupAction ();
191+
192+ }
195193}
0 commit comments