From 1efbb6b1e431183211c03ba99f953be4d895a930 Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 14:52:36 +0530 Subject: [PATCH 01/11] add ControlsType.AlwaysOn --- .../Documentation/Controls/Overview.razor | 1 + .../Controls/ControlsContainer.cs | 6 +++- .../Controls/ControlsType.cs | 3 +- .../Controls/ControlsContainerTests.cs | 28 +++++++++++++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs diff --git a/site/Site/Pages/Documentation/Controls/Overview.razor b/site/Site/Pages/Documentation/Controls/Overview.razor index bd87fa9a1..70c6a1f29 100644 --- a/site/Site/Pages/Documentation/Controls/Overview.razor +++ b/site/Site/Pages/Documentation/Controls/Overview.razor @@ -39,6 +39,7 @@ // Initialize var node1Controls = Diagram.Controls.AddFor(Node1); // OnSelection default var node2Controls = Diagram.Controls.AddFor(Node2, ControlsType.OnHover); +var node3Controls = Diagram.Controls.AddFor(Node2, ControlsType.AlwaysOn); // Control always visible // Add node1Controls.Add(new SomeControl()); diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs index 5ebc16b46..7438f4531 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs @@ -16,7 +16,11 @@ public ControlsContainer(Model model, ControlsType type = ControlsType.OnSelecti { Model = model; Type = type; - } + if (type == ControlsType.AlwaysOn) + { + Visible = true; + } + } public Model Model { get; } public ControlsType Type { get; set; } diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsType.cs b/src/Blazor.Diagrams.Core/Controls/ControlsType.cs index 5997e72c9..a8c48ad47 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsType.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsType.cs @@ -3,5 +3,6 @@ namespace Blazor.Diagrams.Core.Controls; public enum ControlsType { OnHover, - OnSelection + OnSelection, + AlwaysOn } \ No newline at end of file diff --git a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs new file mode 100644 index 000000000..78ffc15f5 --- /dev/null +++ b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs @@ -0,0 +1,28 @@ +using Blazor.Diagrams.Core.Controls; +using Blazor.Diagrams.Core.Events; +using Blazor.Diagrams.Core.Models; +using Xunit; + +namespace Blazor.Diagrams.Core.Tests.Controls +{ + public class ControlsContainerTests + { + [Fact] + public void AlwaysOnControlType_AlwaysVisible() + { + // Arrange + var diagram = new TestDiagram(); + var node = diagram.Nodes.Add(new NodeModel()); + var controls = diagram.Controls.AddFor(node, ControlsType.AlwaysOn); + + // Assert + Assert.True(controls.Visible); + + node.Selected = true; + Assert.True(controls.Visible); + + diagram.TriggerPointerEnter(node, new PointerEventArgs(0, 0, 0, 0, false, false, false, 0, 0, 0, 0, 0, 0, string.Empty, true)); + Assert.True(controls.Visible); + } + } +} \ No newline at end of file From 4a05bfafdf008ae866257f64b6710e5a90455259 Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 14:54:58 +0530 Subject: [PATCH 02/11] fix indenting --- src/Blazor.Diagrams.Core/Controls/ControlsType.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsType.cs b/src/Blazor.Diagrams.Core/Controls/ControlsType.cs index a8c48ad47..23c6c5b1c 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsType.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsType.cs @@ -4,5 +4,5 @@ public enum ControlsType { OnHover, OnSelection, - AlwaysOn + AlwaysO } \ No newline at end of file From 9ef936cfa856b7b42db59707d204a54247d6c62c Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 14:55:06 +0530 Subject: [PATCH 03/11] fix indenting --- src/Blazor.Diagrams.Core/Controls/ControlsType.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsType.cs b/src/Blazor.Diagrams.Core/Controls/ControlsType.cs index 23c6c5b1c..641a79fdd 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsType.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsType.cs @@ -4,5 +4,5 @@ public enum ControlsType { OnHover, OnSelection, - AlwaysO + AlwaysOn } \ No newline at end of file From c7ec2e119945e4eaaffaddab4b12927081d538c3 Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 14:59:51 +0530 Subject: [PATCH 04/11] fix indenting --- .../Controls/ControlsContainer.cs | 5 +--- .../Controls/ControlsContainerTests.cs | 29 +------------------ 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs index 7438f4531..76cc13153 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs @@ -16,10 +16,7 @@ public ControlsContainer(Model model, ControlsType type = ControlsType.OnSelecti { Model = model; Type = type; - if (type == ControlsType.AlwaysOn) - { - Visible = true; - } + } public Model Model { get; } diff --git a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs index 78ffc15f5..5f282702b 100644 --- a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs +++ b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs @@ -1,28 +1 @@ -using Blazor.Diagrams.Core.Controls; -using Blazor.Diagrams.Core.Events; -using Blazor.Diagrams.Core.Models; -using Xunit; - -namespace Blazor.Diagrams.Core.Tests.Controls -{ - public class ControlsContainerTests - { - [Fact] - public void AlwaysOnControlType_AlwaysVisible() - { - // Arrange - var diagram = new TestDiagram(); - var node = diagram.Nodes.Add(new NodeModel()); - var controls = diagram.Controls.AddFor(node, ControlsType.AlwaysOn); - - // Assert - Assert.True(controls.Visible); - - node.Selected = true; - Assert.True(controls.Visible); - - diagram.TriggerPointerEnter(node, new PointerEventArgs(0, 0, 0, 0, false, false, false, 0, 0, 0, 0, 0, 0, string.Empty, true)); - Assert.True(controls.Visible); - } - } -} \ No newline at end of file + \ No newline at end of file From dc022e0439b90086dab0d4d396b92d46288a18d0 Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 15:00:25 +0530 Subject: [PATCH 05/11] fix indenting --- .../Controls/ControlsContainer.cs | 5 +++- .../Controls/ControlsContainerTests.cs | 29 ++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs index 76cc13153..3805d4052 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs @@ -16,7 +16,10 @@ public ControlsContainer(Model model, ControlsType type = ControlsType.OnSelecti { Model = model; Type = type; - + if (type == ControlsType.AlwaysOn) + { + Visible = true; + } } public Model Model { get; } diff --git a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs index 5f282702b..78ffc15f5 100644 --- a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs +++ b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs @@ -1 +1,28 @@ - \ No newline at end of file +using Blazor.Diagrams.Core.Controls; +using Blazor.Diagrams.Core.Events; +using Blazor.Diagrams.Core.Models; +using Xunit; + +namespace Blazor.Diagrams.Core.Tests.Controls +{ + public class ControlsContainerTests + { + [Fact] + public void AlwaysOnControlType_AlwaysVisible() + { + // Arrange + var diagram = new TestDiagram(); + var node = diagram.Nodes.Add(new NodeModel()); + var controls = diagram.Controls.AddFor(node, ControlsType.AlwaysOn); + + // Assert + Assert.True(controls.Visible); + + node.Selected = true; + Assert.True(controls.Visible); + + diagram.TriggerPointerEnter(node, new PointerEventArgs(0, 0, 0, 0, false, false, false, 0, 0, 0, 0, 0, 0, string.Empty, true)); + Assert.True(controls.Visible); + } + } +} \ No newline at end of file From ab640f1662f26d19ae4ea9b54923500ee1250db6 Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 15:02:23 +0530 Subject: [PATCH 06/11] fix indenting --- src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs index 3805d4052..218218dcc 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs @@ -16,11 +16,6 @@ public ControlsContainer(Model model, ControlsType type = ControlsType.OnSelecti { Model = model; Type = type; - if (type == ControlsType.AlwaysOn) - { - Visible = true; - } - } public Model Model { get; } public ControlsType Type { get; set; } From 9f5ec7a4fe4d676c8e51c7a8e5063c4e134ca8fa Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 15:03:02 +0530 Subject: [PATCH 07/11] fix indenting --- src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs index 218218dcc..1a71d1d0d 100644 --- a/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs +++ b/src/Blazor.Diagrams.Core/Controls/ControlsContainer.cs @@ -16,6 +16,11 @@ public ControlsContainer(Model model, ControlsType type = ControlsType.OnSelecti { Model = model; Type = type; + if (type == ControlsType.AlwaysOn) + { + Visible = true; + } + } public Model Model { get; } public ControlsType Type { get; set; } From 29bc9b458ae22563fc98dce08abba6c8bb3dbf1e Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 15:05:17 +0530 Subject: [PATCH 08/11] fix indenting --- .../Controls/ControlsContainerTests.cs | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs index 78ffc15f5..b7f0d0217 100644 --- a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs +++ b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs @@ -7,22 +7,6 @@ namespace Blazor.Diagrams.Core.Tests.Controls { public class ControlsContainerTests { - [Fact] - public void AlwaysOnControlType_AlwaysVisible() - { - // Arrange - var diagram = new TestDiagram(); - var node = diagram.Nodes.Add(new NodeModel()); - var controls = diagram.Controls.AddFor(node, ControlsType.AlwaysOn); - // Assert - Assert.True(controls.Visible); - - node.Selected = true; - Assert.True(controls.Visible); - - diagram.TriggerPointerEnter(node, new PointerEventArgs(0, 0, 0, 0, false, false, false, 0, 0, 0, 0, 0, 0, string.Empty, true)); - Assert.True(controls.Visible); - } } } \ No newline at end of file From 48343e37d81a853ff2f836ef20ae578c352c5c8e Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 15:06:10 +0530 Subject: [PATCH 09/11] fix indenting --- .../Controls/ControlsContainerTests.cs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs index b7f0d0217..11af0b963 100644 --- a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs +++ b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs @@ -1,9 +1,4 @@ -using Blazor.Diagrams.Core.Controls; -using Blazor.Diagrams.Core.Events; -using Blazor.Diagrams.Core.Models; -using Xunit; - -namespace Blazor.Diagrams.Core.Tests.Controls +namespace Blazor.Diagrams.Core.Tests.Controls { public class ControlsContainerTests { From af35693b0cd39dffd4b8f7d3f4d0956f85675d47 Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 15:07:18 +0530 Subject: [PATCH 10/11] fix indenting --- .../Controls/ControlsContainerTests.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs index 11af0b963..993508382 100644 --- a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs +++ b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs @@ -1,7 +1,7 @@ namespace Blazor.Diagrams.Core.Tests.Controls { - public class ControlsContainerTests - { + public class ControlsContainerTests + { - } + } } \ No newline at end of file From 9cf7818cbe48992a5b157d816d1bce35766e1f61 Mon Sep 17 00:00:00 2001 From: Suraj Date: Mon, 29 Jan 2024 15:08:42 +0530 Subject: [PATCH 11/11] fix indenting --- .../Controls/ControlsContainerTests.cs | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs index 993508382..3b36ebd13 100644 --- a/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs +++ b/tests/Blazor.Diagrams.Core.Tests/Controls/ControlsContainerTests.cs @@ -1,7 +1,28 @@ -namespace Blazor.Diagrams.Core.Tests.Controls +using Blazor.Diagrams.Core.Controls; +using Blazor.Diagrams.Core.Events; +using Blazor.Diagrams.Core.Models; +using Xunit; + +namespace Blazor.Diagrams.Core.Tests.Controls { public class ControlsContainerTests { - + [Fact] + public void AlwaysOnControlType_AlwaysVisible() + { + // Arrange + var diagram = new TestDiagram(); + var node = diagram.Nodes.Add(new NodeModel()); + var controls = diagram.Controls.AddFor(node, ControlsType.AlwaysOn); + + // Assert + Assert.True(controls.Visible); + + node.Selected = true; + Assert.True(controls.Visible); + + diagram.TriggerPointerEnter(node, new PointerEventArgs(0, 0, 0, 0, false, false, false, 0, 0, 0, 0, 0, 0, string.Empty, true)); + Assert.True(controls.Visible); + } } } \ No newline at end of file