|
51 | 51 | </div> |
52 | 52 |
|
53 | 53 | @code { |
54 | | - [Parameter] public Workflow Workflow { get; set; } |
| 54 | + [Parameter] public WorkflowContainer WorkflowContainer { get; set; } |
55 | 55 |
|
56 | 56 | private WorkflowTask SelectedTask; |
57 | 57 | private string _deps; |
|
84 | 84 | { |
85 | 85 | await JSRuntime.InvokeVoidAsync("fsDrawflow.clear"); |
86 | 86 |
|
87 | | - foreach (var task in Workflow.Tasks) |
| 87 | + foreach (var task in WorkflowContainer.Workflow.Tasks) |
88 | 88 | { |
89 | 89 | string displayType; |
90 | 90 |
|
|
139 | 139 | task.NodeId = id.ToString(); |
140 | 140 | } |
141 | 141 |
|
142 | | - foreach (var t in Workflow.Tasks) |
| 142 | + foreach (var t in WorkflowContainer.Workflow.Tasks) |
143 | 143 | { |
144 | 144 | foreach (var dep in t.Dependencies) |
145 | 145 | { |
146 | | - var from = Workflow.Tasks.FirstOrDefault(x => x.Name == dep); |
| 146 | + var from = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.Name == dep); |
147 | 147 | if (from != null) |
148 | 148 | await JSRuntime.InvokeVoidAsync("fsDrawflow.connect", from.NodeId, t.NodeId); |
149 | 149 | } |
|
163 | 163 |
|
164 | 164 | var newTask = new WorkflowTask |
165 | 165 | { |
166 | | - Name = $"{plugin.type}-{Workflow.Tasks.Count + 1}", |
| 166 | + Name = $"{plugin.type}-{WorkflowContainer.Workflow.Tasks.Count + 1}", |
167 | 167 | Type = typeValue, |
168 | 168 | Position = new( |
169 | | - 120 + (Workflow.Tasks.Count % 5) * 140, |
170 | | - 120 + (Workflow.Tasks.Count / 5) * 120 |
| 169 | + 120 + (WorkflowContainer.Workflow.Tasks.Count % 5) * 140, |
| 170 | + 120 + (WorkflowContainer.Workflow.Tasks.Count / 5) * 120 |
171 | 171 | ) |
172 | 172 | }; |
173 | 173 |
|
174 | | - Workflow.Tasks.Add(newTask); |
| 174 | + WorkflowContainer.Workflow.Tasks.Add(newTask); |
175 | 175 |
|
176 | 176 | string displayType = plugin.type == "LocalFileSystem" |
177 | 177 | ? "" |
|
240 | 240 | [JSInvokable] |
241 | 241 | public Task OnNodeSelected(string id) |
242 | 242 | { |
243 | | - SelectedTask = Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
| 243 | + SelectedTask = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
244 | 244 | _deps = SelectedTask != null ? string.Join(',', SelectedTask.Dependencies) : string.Empty; |
245 | 245 | StateHasChanged(); |
246 | 246 | return Task.CompletedTask; |
|
252 | 252 | [JSInvokable] |
253 | 253 | public Task OnConnectionCreated(string fromId, string toId) |
254 | 254 | { |
255 | | - var from = Workflow.Tasks.FirstOrDefault(x => x.NodeId == fromId); |
256 | | - var to = Workflow.Tasks.FirstOrDefault(x => x.NodeId == toId); |
| 255 | + var from = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == fromId); |
| 256 | + var to = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == toId); |
257 | 257 | if (from != null && to != null && !to.Dependencies.Contains(from.Name)) |
258 | 258 | to.Dependencies.Add(from.Name); |
259 | 259 | _deps = SelectedTask == to ? string.Join(',', to.Dependencies) : _deps; |
|
264 | 264 | [JSInvokable] |
265 | 265 | public Task OnConnectionRemoved(string fromId, string toId) |
266 | 266 | { |
267 | | - var from = Workflow.Tasks.FirstOrDefault(x => x.NodeId == fromId); |
268 | | - var to = Workflow.Tasks.FirstOrDefault(x => x.NodeId == toId); |
| 267 | + var from = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == fromId); |
| 268 | + var to = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == toId); |
269 | 269 | to?.Dependencies.Remove(from?.Name); |
270 | 270 | _deps = SelectedTask == to ? string.Join(',', to.Dependencies) : _deps; |
271 | 271 | StateHasChanged(); |
|
275 | 275 | [JSInvokable] |
276 | 276 | public Task OnNodeRemoved(string id) |
277 | 277 | { |
278 | | - var t = Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
| 278 | + var t = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
279 | 279 | if (t != null) |
280 | 280 | { |
281 | | - Workflow.Tasks.Remove(t); |
282 | | - foreach (var o in Workflow.Tasks) o.Dependencies.Remove(t.Name); |
| 281 | + WorkflowContainer.Workflow.Tasks.Remove(t); |
| 282 | + foreach (var o in WorkflowContainer.Workflow.Tasks) o.Dependencies.Remove(t.Name); |
283 | 283 | if (SelectedTask == t) { SelectedTask = null; _deps = string.Empty; } |
284 | 284 | } |
285 | 285 | StateHasChanged(); |
|
289 | 289 | [JSInvokable] |
290 | 290 | public Task OnNodeDoubleClicked(string id) |
291 | 291 | { |
292 | | - var task = Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
| 292 | + var task = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
293 | 293 | if (task != null) |
294 | 294 | { |
295 | 295 | SelectedTask = task; |
|
301 | 301 | [JSInvokable] |
302 | 302 | public Task OnNodeProperties(string id) |
303 | 303 | { |
304 | | - var task = Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
| 304 | + var task = WorkflowContainer.Workflow.Tasks.FirstOrDefault(x => x.NodeId == id); |
305 | 305 | if (task != null) |
306 | 306 | { |
307 | 307 | SelectedTask = task; |
|
313 | 313 | [JSInvokable] |
314 | 314 | public Task OnNodeMoved(string id, double? x, double? y) |
315 | 315 | { |
316 | | - var task = Workflow.Tasks.FirstOrDefault(t => t.NodeId == id); |
| 316 | + var task = WorkflowContainer.Workflow.Tasks.FirstOrDefault(t => t.NodeId == id); |
317 | 317 | if (task != null && x.HasValue && y.HasValue) |
318 | 318 | { |
319 | 319 | task.Position = new((int)x.Value, (int)y.Value); |
|
0 commit comments