From ff8fe7711ce96f054fd73af23a254e57e6d013b2 Mon Sep 17 00:00:00 2001 From: john pierson Date: Wed, 28 May 2025 11:14:11 -0600 Subject: [PATCH 01/10] Add transient state to connectors --- .../Graph/Connectors/ConnectorModel.cs | 14 ++++++++++ src/DynamoCoreWpf/UI/Converters.cs | 6 +++++ .../UI/Themes/Modern/Connectors.xaml | 7 +++-- .../UI/Themes/Modern/DynamoConverters.xaml | 6 +++-- .../ViewModels/Core/ConnectorViewModel.cs | 26 ++++++++++++++++--- .../NodeAutoCompleteBarViewModel.cs | 10 ++++--- 6 files changed, 59 insertions(+), 10 deletions(-) diff --git a/src/DynamoCore/Graph/Connectors/ConnectorModel.cs b/src/DynamoCore/Graph/Connectors/ConnectorModel.cs index 70756d5bf64..d2a4e24057f 100644 --- a/src/DynamoCore/Graph/Connectors/ConnectorModel.cs +++ b/src/DynamoCore/Graph/Connectors/ConnectorModel.cs @@ -47,6 +47,20 @@ public bool IsHidden RaisePropertyChanged(nameof(IsHidden)); } } + + private bool isTransient = false; + /// + /// IsTransient flag controlling the transient state of the connector + /// + public bool IsTransient + { + get { return isTransient; } + set + { + isTransient = value; + RaisePropertyChanged(nameof(IsTransient)); + } + } /// /// Returns start port model. /// diff --git a/src/DynamoCoreWpf/UI/Converters.cs b/src/DynamoCoreWpf/UI/Converters.cs index 9100638bd73..28add9dfe16 100644 --- a/src/DynamoCoreWpf/UI/Converters.cs +++ b/src/DynamoCoreWpf/UI/Converters.cs @@ -800,6 +800,7 @@ public class ConnectionStateToBrushConverter : IValueConverter public SolidColorBrush ExecutionPreviewBrush { get; set; } public SolidColorBrush NoneBrush { get; set; } public SolidColorBrush SelectionBrush { get; set; } + public SolidColorBrush TransientBrush { get; set; } public SolidColorBrush HoverBrush { get; set; } @@ -808,6 +809,8 @@ public object Convert(object value, Type targetType, object parameter, CultureIn var state = (PreviewState)value; switch (state) { + case PreviewState.Transient: + return TransientBrush; case PreviewState.ExecutionPreview: return ExecutionPreviewBrush; case PreviewState.None: @@ -833,12 +836,15 @@ public class ConnectionStateToColorConverter : IValueConverter public Color None { get; set; } public Color Selection { get; set; } public Color Hover { get; set; } + public Color Transient { get; set; } public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var state = (PreviewState)value; switch (state) { + case PreviewState.Transient: + return Transient; case PreviewState.ExecutionPreview: return ExecutionPreview; case PreviewState.None: diff --git a/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml b/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml index 11be1a5771e..84529df6d7e 100644 --- a/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml +++ b/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml @@ -1,4 +1,4 @@ - + + + @@ -168,4 +171,4 @@ - \ No newline at end of file + diff --git a/src/DynamoCoreWpf/UI/Themes/Modern/DynamoConverters.xaml b/src/DynamoCoreWpf/UI/Themes/Modern/DynamoConverters.xaml index a7142bb45f9..4cf9cec41c3 100644 --- a/src/DynamoCoreWpf/UI/Themes/Modern/DynamoConverters.xaml +++ b/src/DynamoCoreWpf/UI/Themes/Modern/DynamoConverters.xaml @@ -35,13 +35,15 @@ ExecutionPreview="#F2930C" Hover="#808080" None="#444" - Selection="#6AC0E7" /> + Selection="#6AC0E7" + Transient="#D5BCF7"/> + SelectionBrush="#6AC0E7" + TransientBrush="#D5BCF7"/> diff --git a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs index f49e046dcf2..af861810497 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs @@ -20,7 +20,7 @@ namespace Dynamo.ViewModels { - public enum PreviewState { Selection, ExecutionPreview, Hover, None } + public enum PreviewState { Selection, ExecutionPreview, Hover, Transient, None } public partial class ConnectorViewModel : ViewModelBase { @@ -38,6 +38,7 @@ public partial class ConnectorViewModel : ViewModelBase private bool isConnecting = false; private bool isCollapsed = false; private bool isHidden = false; + private bool isTransient = false; private bool isTemporarilyVisible = false; private string connectorDataToolTip; private bool canShowConnectorTooltip = true; @@ -199,6 +200,21 @@ public bool IsHidden } } + public bool IsTransient + { + get => isTransient; + set + { + if (isTransient == value) + { + return; + } + + isTransient = value; + RaisePropertyChanged(nameof(IsTransient)); + } + } + /// /// Property which overrides 'isDisplayed==false' condition. When this prop is set to true, wires are set to /// 40% opacity. @@ -505,13 +521,17 @@ public PreviewState PreviewState return PreviewState.None; } - if (Nodevm.ShowExecutionPreview || NodeEnd.ShowExecutionPreview) + if (IsTransient) + { + return PreviewState.Transient; + } + if (Nodevm.ShowExecutionPreview || NodeEnd.ShowExecutionPreview && !IsTransient) { return PreviewState.ExecutionPreview; } if (model.Start.Owner.IsSelected || - model.End.Owner.IsSelected || AnyPinSelected) + model.End.Owner.IsSelected || AnyPinSelected && !IsTransient) { return PreviewState.Selection; } diff --git a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs index 1b44ae79c89..5c17f8f259e 100644 --- a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs +++ b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs @@ -227,10 +227,10 @@ internal void ConsolidateTransientNodes() } //set the last connector to be connected - var transientConnectors = node.WorkspaceViewModel.Connectors.Where(c => c.IsConnecting).ToList(); + var transientConnectors = node.WorkspaceViewModel.Connectors.Where(c => c.IsTransient).ToList(); foreach (var connector in transientConnectors) { - connector.IsConnecting = false; + connector.IsTransient = false; } NodeAutoCompleteUtilities.PostAutoLayoutNodes(node.WorkspaceViewModel.Model, node.NodeModel, transientNodes.Select(x => x.NodeModel), true, true, false, null); @@ -803,7 +803,7 @@ internal void AddCluster(ClusterResultItem clusterResultItem) { entryConnector.IsHidden = true; var entryConnectorViewModel = workspaceViewModel.Connectors.First(c => c.ConnectorModel.Equals(entryConnector)); - entryConnectorViewModel.IsConnecting = true; + entryConnectorViewModel.IsTransient = true; createdClusterItems.Add(entryConnector); } } @@ -829,6 +829,10 @@ internal void AddCluster(ClusterResultItem clusterResultItem) { newConnector.IsHidden = true; // Hide the connector initially createdClusterItems.Add(newConnector); + + // toggle to be transient for preview purposes + var newConnectorViewModel = workspaceViewModel.Connectors.First(c => c.ConnectorModel.Equals(newConnector)); + newConnectorViewModel.IsTransient = true; } } } From 2777e588317e9ae39b387d27c60946b87e9fd2c1 Mon Sep 17 00:00:00 2001 From: john pierson Date: Wed, 28 May 2025 11:16:32 -0600 Subject: [PATCH 02/10] Update src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs index af861810497..0d6b319b066 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs @@ -525,7 +525,7 @@ public PreviewState PreviewState { return PreviewState.Transient; } - if (Nodevm.ShowExecutionPreview || NodeEnd.ShowExecutionPreview && !IsTransient) + if (Nodevm.ShowExecutionPreview || (NodeEnd.ShowExecutionPreview && !IsTransient)) { return PreviewState.ExecutionPreview; } From 776d4823f49c891c000edf64b86322e434817421 Mon Sep 17 00:00:00 2001 From: john pierson Date: Wed, 28 May 2025 11:18:36 -0600 Subject: [PATCH 03/10] update api unshipped --- src/DynamoCore/PublicAPI.Unshipped.txt | 2 ++ src/DynamoCoreWpf/PublicAPI.Unshipped.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/DynamoCore/PublicAPI.Unshipped.txt b/src/DynamoCore/PublicAPI.Unshipped.txt index a0355ad00a1..fb778ee0390 100644 --- a/src/DynamoCore/PublicAPI.Unshipped.txt +++ b/src/DynamoCore/PublicAPI.Unshipped.txt @@ -736,6 +736,8 @@ Dynamo.Graph.Connectors.ConnectorModel.Deleted -> System.Action Dynamo.Graph.Connectors.ConnectorModel.End.get -> Dynamo.Graph.Nodes.PortModel Dynamo.Graph.Connectors.ConnectorModel.IsHidden.get -> bool Dynamo.Graph.Connectors.ConnectorModel.IsHidden.set -> void +Dynamo.Graph.Connectors.ConnectorModel.IsTransient.get -> bool +Dynamo.Graph.Connectors.ConnectorModel.IsTransient.set -> void Dynamo.Graph.Connectors.ConnectorModel.Start.get -> Dynamo.Graph.Nodes.PortModel Dynamo.Graph.Connectors.ConnectorType Dynamo.Graph.Connectors.ConnectorType.BEZIER = 0 -> Dynamo.Graph.Connectors.ConnectorType diff --git a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt index ace018da3a9..cf32f898cf3 100644 --- a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt +++ b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt @@ -4338,6 +4338,8 @@ override Dynamo.ViewModels.ConnectorPinViewModel.IsCollapsed.set -> void override Dynamo.ViewModels.ConnectorViewModel.Dispose() -> void override Dynamo.ViewModels.ConnectorViewModel.IsCollapsed.get -> bool override Dynamo.ViewModels.ConnectorViewModel.IsCollapsed.set -> void +override Dynamo.ViewModels.ConnectorViewModel.IsTransient.get -> bool +override Dynamo.ViewModels.ConnectorViewModel.IsTransient.set -> void override Dynamo.ViewModels.InfoBubbleViewModel.Dispose() -> void override Dynamo.ViewModels.InfoBubbleViewModel.IsCollapsed.get -> bool override Dynamo.ViewModels.InfoBubbleViewModel.IsCollapsed.set -> void From 6dfdc9f52e96d0a3fb539a8eda3881b997d40e68 Mon Sep 17 00:00:00 2001 From: john pierson Date: Wed, 28 May 2025 11:49:20 -0600 Subject: [PATCH 04/10] Update PublicAPI.Unshipped.txt --- src/DynamoCoreWpf/PublicAPI.Unshipped.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt index cf32f898cf3..3097497d55d 100644 --- a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt +++ b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt @@ -139,6 +139,8 @@ Dynamo.Controls.ConnectionStateToBrushConverter.NoneBrush.get -> System.Windows. Dynamo.Controls.ConnectionStateToBrushConverter.NoneBrush.set -> void Dynamo.Controls.ConnectionStateToBrushConverter.SelectionBrush.get -> System.Windows.Media.SolidColorBrush Dynamo.Controls.ConnectionStateToBrushConverter.SelectionBrush.set -> void +Dynamo.Controls.ConnectionStateToBrushConverter.TransientBrush.get -> System.Windows.Media.SolidColorBrush +Dynamo.Controls.ConnectionStateToBrushConverter.TransientBrush.set -> void Dynamo.Controls.ConnectionStateToColorConverter Dynamo.Controls.ConnectionStateToColorConverter.ConnectionStateToColorConverter() -> void Dynamo.Controls.ConnectionStateToColorConverter.Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) -> object @@ -151,6 +153,8 @@ Dynamo.Controls.ConnectionStateToColorConverter.None.get -> System.Windows.Media Dynamo.Controls.ConnectionStateToColorConverter.None.set -> void Dynamo.Controls.ConnectionStateToColorConverter.Selection.get -> System.Windows.Media.Color Dynamo.Controls.ConnectionStateToColorConverter.Selection.set -> void +Dynamo.Controls.ConnectionStateToColorConverter.Transient.get -> System.Windows.Media.Color +Dynamo.Controls.ConnectionStateToColorConverter.Transient.set -> void Dynamo.Controls.ConnectionStateToVisibilityCollapsedConverter Dynamo.Controls.ConnectionStateToVisibilityCollapsedConverter.ConnectionStateToVisibilityCollapsedConverter() -> void Dynamo.Controls.ConnectionStateToVisibilityCollapsedConverter.Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture) -> object From 42254e425d9b0d5f5bb660bd38ccbfdb502a3b72 Mon Sep 17 00:00:00 2001 From: john pierson Date: Wed, 28 May 2025 11:51:45 -0600 Subject: [PATCH 05/10] Fix error for Transient not part of API --- src/DynamoCoreWpf/PublicAPI.Unshipped.txt | 1 + src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt index 3097497d55d..25400bf68a5 100644 --- a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt +++ b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt @@ -2938,6 +2938,7 @@ Dynamo.ViewModels.PreviewState Dynamo.ViewModels.PreviewState.ExecutionPreview = 1 -> Dynamo.ViewModels.PreviewState Dynamo.ViewModels.PreviewState.Hover = 2 -> Dynamo.ViewModels.PreviewState Dynamo.ViewModels.PreviewState.None = 3 -> Dynamo.ViewModels.PreviewState +Dynamo.ViewModels.PreviewState.Transient = 4 -> Dynamo.ViewModels.PreviewState Dynamo.ViewModels.PreviewState.Selection = 0 -> Dynamo.ViewModels.PreviewState Dynamo.ViewModels.PythonTemplatePathEventArgs Dynamo.ViewModels.PythonTemplatePathEventArgs.Cancel.get -> bool diff --git a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs index 0d6b319b066..2eb20f04eae 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs @@ -20,7 +20,7 @@ namespace Dynamo.ViewModels { - public enum PreviewState { Selection, ExecutionPreview, Hover, Transient, None } + public enum PreviewState { Selection, ExecutionPreview, Hover, None, Transient } public partial class ConnectorViewModel : ViewModelBase { From 6fbbe2ae744afa9aeb7f6c8f55d4c93bbcabb7fb Mon Sep 17 00:00:00 2001 From: john pierson Date: Wed, 28 May 2025 12:03:28 -0600 Subject: [PATCH 06/10] Update PublicAPI.Unshipped.txt --- src/DynamoCoreWpf/PublicAPI.Unshipped.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt index 25400bf68a5..371cd3479d5 100644 --- a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt +++ b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt @@ -1926,6 +1926,8 @@ Dynamo.ViewModels.ConnectorViewModel.IsDataFlowCollection.set -> void Dynamo.ViewModels.ConnectorViewModel.IsFrozen.get -> bool Dynamo.ViewModels.ConnectorViewModel.IsHidden.get -> bool Dynamo.ViewModels.ConnectorViewModel.IsHidden.set -> void +Dynamo.ViewModels.ConnectorViewModel.IsTransient.get -> bool +Dynamo.ViewModels.ConnectorViewModel.IsTransient.set -> void Dynamo.ViewModels.ConnectorViewModel.IsTemporarilyDisplayed.get -> bool Dynamo.ViewModels.ConnectorViewModel.IsTemporarilyDisplayed.set -> void Dynamo.ViewModels.ConnectorViewModel.Left.get -> double @@ -4343,8 +4345,6 @@ override Dynamo.ViewModels.ConnectorPinViewModel.IsCollapsed.set -> void override Dynamo.ViewModels.ConnectorViewModel.Dispose() -> void override Dynamo.ViewModels.ConnectorViewModel.IsCollapsed.get -> bool override Dynamo.ViewModels.ConnectorViewModel.IsCollapsed.set -> void -override Dynamo.ViewModels.ConnectorViewModel.IsTransient.get -> bool -override Dynamo.ViewModels.ConnectorViewModel.IsTransient.set -> void override Dynamo.ViewModels.InfoBubbleViewModel.Dispose() -> void override Dynamo.ViewModels.InfoBubbleViewModel.IsCollapsed.get -> bool override Dynamo.ViewModels.InfoBubbleViewModel.IsCollapsed.set -> void From 57850eef62ca19ffcc290f9b482ac37574ff4ba2 Mon Sep 17 00:00:00 2001 From: john pierson Date: Mon, 2 Jun 2025 11:39:44 -0600 Subject: [PATCH 07/10] Address comments --- src/DynamoCore/Graph/Connectors/ConnectorModel.cs | 2 +- src/DynamoCore/PublicAPI.Unshipped.txt | 2 -- src/DynamoCoreWpf/PublicAPI.Unshipped.txt | 2 -- src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml | 3 --- src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs | 7 ++++--- .../ViewModels/NodeAutoCompleteBarViewModel.cs | 3 +++ 6 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/DynamoCore/Graph/Connectors/ConnectorModel.cs b/src/DynamoCore/Graph/Connectors/ConnectorModel.cs index 4374729c96a..89a7166ba65 100644 --- a/src/DynamoCore/Graph/Connectors/ConnectorModel.cs +++ b/src/DynamoCore/Graph/Connectors/ConnectorModel.cs @@ -52,7 +52,7 @@ public bool IsHidden /// /// IsTransient flag controlling the transient state of the connector /// - public bool IsTransient + internal bool IsTransient { get { return isTransient; } set diff --git a/src/DynamoCore/PublicAPI.Unshipped.txt b/src/DynamoCore/PublicAPI.Unshipped.txt index 20381c4c0b3..a306a6c5927 100644 --- a/src/DynamoCore/PublicAPI.Unshipped.txt +++ b/src/DynamoCore/PublicAPI.Unshipped.txt @@ -736,8 +736,6 @@ Dynamo.Graph.Connectors.ConnectorModel.Deleted -> System.Action Dynamo.Graph.Connectors.ConnectorModel.End.get -> Dynamo.Graph.Nodes.PortModel Dynamo.Graph.Connectors.ConnectorModel.IsHidden.get -> bool Dynamo.Graph.Connectors.ConnectorModel.IsHidden.set -> void -Dynamo.Graph.Connectors.ConnectorModel.IsTransient.get -> bool -Dynamo.Graph.Connectors.ConnectorModel.IsTransient.set -> void Dynamo.Graph.Connectors.ConnectorModel.Start.get -> Dynamo.Graph.Nodes.PortModel Dynamo.Graph.Connectors.ConnectorType Dynamo.Graph.Connectors.ConnectorType.BEZIER = 0 -> Dynamo.Graph.Connectors.ConnectorType diff --git a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt index 371cd3479d5..a69e3a91269 100644 --- a/src/DynamoCoreWpf/PublicAPI.Unshipped.txt +++ b/src/DynamoCoreWpf/PublicAPI.Unshipped.txt @@ -1926,8 +1926,6 @@ Dynamo.ViewModels.ConnectorViewModel.IsDataFlowCollection.set -> void Dynamo.ViewModels.ConnectorViewModel.IsFrozen.get -> bool Dynamo.ViewModels.ConnectorViewModel.IsHidden.get -> bool Dynamo.ViewModels.ConnectorViewModel.IsHidden.set -> void -Dynamo.ViewModels.ConnectorViewModel.IsTransient.get -> bool -Dynamo.ViewModels.ConnectorViewModel.IsTransient.set -> void Dynamo.ViewModels.ConnectorViewModel.IsTemporarilyDisplayed.get -> bool Dynamo.ViewModels.ConnectorViewModel.IsTemporarilyDisplayed.set -> void Dynamo.ViewModels.ConnectorViewModel.Left.get -> double diff --git a/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml b/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml index 84529df6d7e..879374719db 100644 --- a/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml +++ b/src/DynamoCoreWpf/UI/Themes/Modern/Connectors.xaml @@ -44,9 +44,6 @@ - - - diff --git a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs index 2eb20f04eae..c8bad70bfea 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs @@ -200,7 +200,7 @@ public bool IsHidden } } - public bool IsTransient + internal bool IsTransient { get => isTransient; set @@ -525,13 +525,14 @@ public PreviewState PreviewState { return PreviewState.Transient; } - if (Nodevm.ShowExecutionPreview || (NodeEnd.ShowExecutionPreview && !IsTransient)) + + if (Nodevm.ShowExecutionPreview || NodeEnd.ShowExecutionPreview) { return PreviewState.ExecutionPreview; } if (model.Start.Owner.IsSelected || - model.End.Owner.IsSelected || AnyPinSelected && !IsTransient) + model.End.Owner.IsSelected || AnyPinSelected) { return PreviewState.Selection; } diff --git a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs index aeba9434697..54b984b1d91 100644 --- a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs +++ b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs @@ -234,6 +234,7 @@ internal void ConsolidateTransientNodes() foreach (var connector in transientConnectors) { connector.IsTransient = false; + connector.IsConnecting = false; } NodeAutoCompleteUtilities.PostAutoLayoutNodes(node.WorkspaceViewModel.Model, node.NodeModel, transientNodes.Select(x => x.NodeModel), true, true, false, null); @@ -818,6 +819,7 @@ internal void AddCluster(ClusterResultItem clusterResultItem) entryConnector.IsHidden = true; var entryConnectorViewModel = workspaceViewModel.Connectors.First(c => c.ConnectorModel.Equals(entryConnector)); entryConnectorViewModel.IsTransient = true; + entryConnectorViewModel.IsConnecting = true; createdClusterItems.Add(entryConnector); } } @@ -845,6 +847,7 @@ internal void AddCluster(ClusterResultItem clusterResultItem) // toggle to be transient for preview purposes var newConnectorViewModel = workspaceViewModel.Connectors.First(c => c.ConnectorModel.Equals(newConnector)); newConnectorViewModel.IsTransient = true; + newConnectorViewModel.IsConnecting = true; } } } From c4953d1c3482c46652660146086aa02150c4c005 Mon Sep 17 00:00:00 2001 From: john pierson Date: Wed, 4 Jun 2025 06:57:09 -0600 Subject: [PATCH 08/10] Update src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs index c8bad70bfea..548a98f7a89 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/ConnectorViewModel.cs @@ -212,6 +212,7 @@ internal bool IsTransient isTransient = value; RaisePropertyChanged(nameof(IsTransient)); + RaisePropertyChanged(nameof(PreviewState)); } } From 42a6cd4387a9cd4ab0b3e5fc333efdcc49b22480 Mon Sep 17 00:00:00 2001 From: john pierson Date: Thu, 5 Jun 2025 09:50:36 -0600 Subject: [PATCH 09/10] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../ViewModels/NodeAutoCompleteBarViewModel.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs index 54b984b1d91..aeba9434697 100644 --- a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs +++ b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs @@ -234,7 +234,6 @@ internal void ConsolidateTransientNodes() foreach (var connector in transientConnectors) { connector.IsTransient = false; - connector.IsConnecting = false; } NodeAutoCompleteUtilities.PostAutoLayoutNodes(node.WorkspaceViewModel.Model, node.NodeModel, transientNodes.Select(x => x.NodeModel), true, true, false, null); @@ -819,7 +818,6 @@ internal void AddCluster(ClusterResultItem clusterResultItem) entryConnector.IsHidden = true; var entryConnectorViewModel = workspaceViewModel.Connectors.First(c => c.ConnectorModel.Equals(entryConnector)); entryConnectorViewModel.IsTransient = true; - entryConnectorViewModel.IsConnecting = true; createdClusterItems.Add(entryConnector); } } @@ -847,7 +845,6 @@ internal void AddCluster(ClusterResultItem clusterResultItem) // toggle to be transient for preview purposes var newConnectorViewModel = workspaceViewModel.Connectors.First(c => c.ConnectorModel.Equals(newConnector)); newConnectorViewModel.IsTransient = true; - newConnectorViewModel.IsConnecting = true; } } } From 64aafacc938f50565b54e535daf8f33f17284a4c Mon Sep 17 00:00:00 2001 From: john pierson Date: Fri, 6 Jun 2025 05:33:08 -0600 Subject: [PATCH 10/10] Update ConnectorModel.cs --- src/DynamoCore/Graph/Connectors/ConnectorModel.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/DynamoCore/Graph/Connectors/ConnectorModel.cs b/src/DynamoCore/Graph/Connectors/ConnectorModel.cs index 89a7166ba65..af34148351f 100644 --- a/src/DynamoCore/Graph/Connectors/ConnectorModel.cs +++ b/src/DynamoCore/Graph/Connectors/ConnectorModel.cs @@ -61,6 +61,7 @@ internal bool IsTransient RaisePropertyChanged(nameof(IsTransient)); } } + /// /// Returns start port model. ///