1
1
@page " /"
2
2
3
3
@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 >
8
20
<SfDiagramComponent @ref =" diagram" Width =" 1000px" Height =" 1000px" Nodes =" @NodeCollection" Connectors =" @connectors" >
9
21
<SnapSettings Constraints =" @SnapConstraints.None" ></SnapSettings >
10
22
</SfDiagramComponent >
16
28
public SfDiagramComponent diagram ;
17
29
// Define diagram's nodes collection
18
30
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
+ };
19
56
protected override void OnInitialized ()
20
57
{
21
58
Node node3 = new Node ()
117
154
};
118
155
NodeCollection .Add (groupNode );
119
156
}
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
+ }
195
193
}
0 commit comments