From 27b9ac7b3d7f0518ed11611e40dda45034d7b894 Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Thu, 29 Aug 2024 12:19:27 +0530 Subject: [PATCH 01/14] 892868: Tooltip for Port --- blazor/diagram/images/PortTooltip.gif | Bin 0 -> 192007 bytes blazor/diagram/ports/interaction.md | 76 ++++++++++++++++++++++++++ blazor/diagram/tool-tip.md | 4 +- 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 blazor/diagram/images/PortTooltip.gif diff --git a/blazor/diagram/images/PortTooltip.gif b/blazor/diagram/images/PortTooltip.gif new file mode 100644 index 0000000000000000000000000000000000000000..d338271b34056e4379fccd984021245dbe337453 GIT binary patch literal 192007 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%0A1GK1`FoHpyN~ZgNyc5-dUz970JvWHKN!Hqkp4 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

7DUa)|cT!zO$n|2*JA|ACRXx_n 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 J@6W<${{ly(>tz4{ literal 0 HcmV?d00001 diff --git a/blazor/diagram/ports/interaction.md b/blazor/diagram/ports/interaction.md index 6f1568fd32..f19ab4644b 100644 --- a/blazor/diagram/ports/interaction.md +++ b/blazor/diagram/ports/interaction.md @@ -160,6 +160,82 @@ The following code explains how to draw the connector by using the port constrai You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Ports/Interaction/DrawConstraintsWithDrawingObject). ![Drawing Bezier Port Connection in Blazor Diagram](../images/blazor-diagram-draw-port-connection-bezier.gif) + +## How to set tooltip for ports + +The diagram provides support to show a tooltip when the mouse hovers over any port. The tooltip can be customized for each port.To achieve this, the tooltip property of the diagram model must be configured to contain the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and to [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. By default, tooltips are not displayed; you need to add the tooltip as shown in the following example. + + +```cshtml +@using Syncfusion.Blazor.Diagram + +@code +{ + DiagramObjectCollection nodes; + + protected override void OnInitialized() + { + nodes = new DiagramObjectCollection(); + Node node = new Node() + { + ID = "node1", + OffsetX = 250, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() + { + Fill = "#6495ED", + StrokeColor = "white" + }, + Ports = new DiagramObjectCollection() + { + new PointPort(){ + ID="Port1", + Style = new ShapeStyle(){ Fill = "gray" }, + Offset = new DiagramPoint() { X = 1, Y = 0.5 }, + Visibility = PortVisibility.Visible, + Tooltip = new DiagramTooltip(){ Content = "OutConnectPort"}, + Constraints = PortConstraints.Default | PortConstraints.Draw + } + } + }; + nodes.Add(node); + Node node2 = new Node() + { + ID = "node2", + OffsetX = 450, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() + { + Fill = "#6495ED", + StrokeColor = "white" + }, + Ports = new DiagramObjectCollection() + { + new PointPort() + { + ID="Port2", + Style = new ShapeStyle(){ Fill = "gray" }, + Offset = new DiagramPoint() { X = 0, Y = 0.5}, + Visibility = PortVisibility.Visible, + Tooltip = new DiagramTooltip(){ Content = "InConnectPort"}, + Constraints = PortConstraints.Default | PortConstraints.Draw + } + } + }; + nodes.Add(node2); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Ports/ActionofPorts/TooltipForSpecificPort) + +![ToolTip During hover the port](../images/PortTooltip.gif ) + +For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) + ## See also * [How to create a node](../nodes/nodes) diff --git a/blazor/diagram/tool-tip.md b/blazor/diagram/tool-tip.md index 31006defb6..ae0a936885 100644 --- a/blazor/diagram/tool-tip.md +++ b/blazor/diagram/tool-tip.md @@ -55,7 +55,7 @@ The following code example illustrates how to customize the tooltip for nodes. } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/TooltipForSpecificNode) -|![ToolTip During hover the node](images/blazor-diagram-nodetooltip.png) | +|![ToolTip During hover the node](images/blazor-diagram-nodetooltip.png) The following code example illustrates how to customize the tooltip for connectors. @@ -83,7 +83,7 @@ The following code example illustrates how to customize the tooltip for connecto } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/TooltipForSpecificConnector) -|![ToolTip During hover the node](images/blazor-diagram-connectortooltip.png) | +|![ToolTip During hover the node](images/blazor-diagram-connectortooltip.png) ## How to set tooltip position for nodes/connectors From 91a113e14a3a0d2f935154b6d44f3f81329e7595 Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Fri, 30 Aug 2024 12:18:30 +0530 Subject: [PATCH 02/14] 892868: Tooltip for Port --- .../connectors/segments/bezier/bezier.md | 102 ++++++++- .../diagram/connectors/segments/orthogonal.md | 82 +++++++ .../diagram/connectors/segments/straight.md | 95 ++++++++ blazor/diagram/grid-lines.md | 49 ++++- blazor/diagram/images/ArrowThumb.png | Bin 0 -> 4584 bytes blazor/diagram/images/BezierSegmentShape.png | Bin 0 -> 12090 bytes blazor/diagram/images/BezierSegmentShape1.png | Bin 0 -> 11888 bytes blazor/diagram/images/CircleThumb.png | Bin 0 -> 5551 bytes blazor/diagram/images/DiamondThumb.png | Bin 0 -> 4070 bytes blazor/diagram/images/DoubleArrowThumb.png | Bin 0 -> 4753 bytes blazor/diagram/images/EllipseThumb.png | Bin 0 -> 5723 bytes .../images/FixedUserHandleIsSticky.png | Bin 0 -> 4736 bytes .../diagram/images/FixedUserHandleTooltip.gif | Bin 0 -> 81006 bytes blazor/diagram/images/FletchThumb.png | Bin 0 -> 5315 bytes blazor/diagram/images/IndentedThumb.png | Bin 0 -> 5274 bytes blazor/diagram/images/OpenArrowThumb.png | Bin 0 -> 5428 bytes blazor/diagram/images/OpenFetchThumb.png | Bin 0 -> 5098 bytes .../images/OrthogonalThumbSettings.png | Bin 0 -> 5810 bytes .../images/OrthogonalThumbSettings1.png | Bin 0 -> 7600 bytes .../diagram/images/OrthogonalThumbStyle.png | Bin 0 -> 8681 bytes blazor/diagram/images/OutdentedThumb.png | Bin 0 -> 5044 bytes blazor/diagram/images/PortIsSticky.png | Bin 0 -> 4767 bytes blazor/diagram/images/RectangleThumb.png | Bin 0 -> 3635 bytes blazor/diagram/images/RhombusThumb.png | Bin 0 -> 5149 bytes blazor/diagram/images/SegmentStyle.png | Bin 0 -> 8231 bytes blazor/diagram/images/SnapLineStyle.png | Bin 0 -> 12195 bytes blazor/diagram/images/SquareThumb.png | Bin 0 -> 4387 bytes .../diagram/images/StraightSegmentShape.png | Bin 0 -> 5176 bytes .../diagram/images/StraightSegmentShape1.png | Bin 0 -> 5225 bytes blazor/diagram/images/UserHandleIsSticky.png | Bin 0 -> 8837 bytes blazor/diagram/images/UserHandleTooltip.gif | Bin 0 -> 200173 bytes blazor/diagram/ports/interaction.md | 55 +++++ blazor/diagram/style.md | 34 +++ blazor/diagram/user-handle.md | 203 ++++++++++++++++++ 34 files changed, 618 insertions(+), 2 deletions(-) create mode 100644 blazor/diagram/images/ArrowThumb.png create mode 100644 blazor/diagram/images/BezierSegmentShape.png create mode 100644 blazor/diagram/images/BezierSegmentShape1.png create mode 100644 blazor/diagram/images/CircleThumb.png create mode 100644 blazor/diagram/images/DiamondThumb.png create mode 100644 blazor/diagram/images/DoubleArrowThumb.png create mode 100644 blazor/diagram/images/EllipseThumb.png create mode 100644 blazor/diagram/images/FixedUserHandleIsSticky.png create mode 100644 blazor/diagram/images/FixedUserHandleTooltip.gif create mode 100644 blazor/diagram/images/FletchThumb.png create mode 100644 blazor/diagram/images/IndentedThumb.png create mode 100644 blazor/diagram/images/OpenArrowThumb.png create mode 100644 blazor/diagram/images/OpenFetchThumb.png create mode 100644 blazor/diagram/images/OrthogonalThumbSettings.png create mode 100644 blazor/diagram/images/OrthogonalThumbSettings1.png create mode 100644 blazor/diagram/images/OrthogonalThumbStyle.png create mode 100644 blazor/diagram/images/OutdentedThumb.png create mode 100644 blazor/diagram/images/PortIsSticky.png create mode 100644 blazor/diagram/images/RectangleThumb.png create mode 100644 blazor/diagram/images/RhombusThumb.png create mode 100644 blazor/diagram/images/SegmentStyle.png create mode 100644 blazor/diagram/images/SnapLineStyle.png create mode 100644 blazor/diagram/images/SquareThumb.png create mode 100644 blazor/diagram/images/StraightSegmentShape.png create mode 100644 blazor/diagram/images/StraightSegmentShape1.png create mode 100644 blazor/diagram/images/UserHandleIsSticky.png create mode 100644 blazor/diagram/images/UserHandleTooltip.gif diff --git a/blazor/diagram/connectors/segments/bezier/bezier.md b/blazor/diagram/connectors/segments/bezier/bezier.md index a0028464cb..62cc6a06d6 100644 --- a/blazor/diagram/connectors/segments/bezier/bezier.md +++ b/blazor/diagram/connectors/segments/bezier/bezier.md @@ -242,4 +242,104 @@ Also, if you provide segments during the initial rendering, the segment collecti ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments). -![Avoid overlapping with bezier](../../../images/bezierOverlap.png) \ No newline at end of file +![Avoid overlapping with bezier](../../../images/bezierOverlap.png) + +### How to customize Bezier Segment Thumb Shape + +The bezier connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles . The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. You can choose the shape by any one of the following shapes. + +* `Circle` +* `Square` +* `Rectangle` +* `Ellipse` +* `Arrow` +* `Diamond` +* `OpenArrow` +* `Rhombus` +* `OpenFetch` +* `Fletch` +* `IndentedArrow` +* `OutdentedArrow` +* `DoubleArrow` + +The following code example illustrates how to create a customized bezier segment thumb shape using the `InheritSegmentThumbShape` constraints. + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Diagram.Internal + +@code { + //Define the diagram's connector collection. + DiagramObjectCollection connectors = new DiagramObjectCollection(); + //Define the segment shape + SegmentThumbSettings connectorSegmentThumb = new SegmentThumbSettings() { Shape = SegmentThumbShapes.Rectangle }; + protected override void OnInitialized() + { + Connector connector = new Connector() + { + ID = "connector", + SourcePoint = new DiagramPoint() { X = 100, Y = 100 }, + TargetPoint = new DiagramPoint() { X = 300, Y =300 }, + SourceDecorator = new DecoratorSettings() { Shape = DecoratorShape.Diamond }, + Segments = new DiagramObjectCollection() + { + new BezierSegment(){Type = ConnectorSegmentType.Bezier, Point = new DiagramPoint(){X = 200, Y = 100} + , + }, + new BezierSegment(){Type = ConnectorSegmentType.Bezier, Point = new DiagramPoint(){X = 260, Y = 150}} + }, + Type = ConnectorSegmentType.Bezier, + BezierConnectorSettings = new BezierConnectorSettings() + { + ControlPointsVisibility = ControlPointsVisibility.All + }, + Constraints = ConnectorConstraints.Default | ConnectorConstraints.DragSegmentThumb | ConnectorConstraints.InheritSegmentThumbShape, + + }; + connectors.Add(connector); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/BezierSegmentShape). + +![Connector with Bezier Segment Shape and Style in Blazor Diagram](../../../images/BezierSegmentShape.png) + +The following code example illustrates how to create a customized bezier segment thumb shape without using the `InheritSegmentThumbShape` constraints. + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Diagram.Internal + +@code { + //Define the diagram's connector collection. + DiagramObjectCollection connectors = new DiagramObjectCollection(); + protected override void OnInitialized() + { + Connector connector = new Connector() + { + ID = "connector", + SourcePoint = new DiagramPoint() { X = 100, Y = 100 }, + TargetPoint = new DiagramPoint() { X = 300, Y =300 }, + SourceDecorator = new DecoratorSettings() { Shape = DecoratorShape.Diamond }, + Segments = new DiagramObjectCollection() + { + new BezierSegment(){Type = ConnectorSegmentType.Bezier, Point = new DiagramPoint(){X = 200, Y = 100} + , + }, + new BezierSegment(){Type = ConnectorSegmentType.Bezier, Point = new DiagramPoint(){X = 260, Y = 150}} + }, + Type = ConnectorSegmentType.Bezier, + BezierConnectorSettings = new BezierConnectorSettings() + { + ControlPointsVisibility = ControlPointsVisibility.All + }, + Constraints = ConnectorConstraints.Default | ConnectorConstraints.DragSegmentThumb, + SegmentThumbSettings = new SegmentThumbSettings() { Shape = SegmentThumbShapes.Square}, + }; + connectors.Add(connector); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/SegmentShape). + +![Connector with Bezier Segment Shape and Style in Blazor Diagram](../../../images/BezierSegmentShape1.png) \ No newline at end of file diff --git a/blazor/diagram/connectors/segments/orthogonal.md b/blazor/diagram/connectors/segments/orthogonal.md index c201ae8d5a..0942e100da 100644 --- a/blazor/diagram/connectors/segments/orthogonal.md +++ b/blazor/diagram/connectors/segments/orthogonal.md @@ -154,3 +154,85 @@ N> You need to mention the segment type as you mentioned in the connector type. You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/OrthogonalSegmentEditing) ![Editing Orthogonal Segment in Blazor Diagram](../../images/blazor-diagram-edit-orthogonal-segment.gif) + +## How to customize Orthogonal Segment Thumb Shape + +The [Orthogonal](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Orthogonal) connector supports an arbitrary number of segments between its source and target points. By default, these [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) are displayed with a circle shape in Grey color. You can customize the appearance of these segments using the SegmentThumbSettings property. This property allows you to choose from several predefined shapes. The shapes will be visible only when the DragSegmentThumb enum is added to the connector constraints. The following predefined shapes are provided: + +| Shape name | Shape | +|-------- | -------- | +|Rhombus| ![Rhombus](../../images/RhombusThumb.png) | +| Square | ![Square](../../images/SquareThumb.png) | +| Rectangle | ![Rectangle](../../images/RectangleThumb.png) | +| Ellipse |![Ellipse](../../images/EllipseThumb.png) | +| Circle |![Circle](../../images/CircleThumb.png) | +|Arrow| ![Arrow](../../images/ArrowThumb.png) | +| OpenArrow | ![OpenArrow](../../images/OpenArrowThumb.png) | +| Fletch|![Fletch](../../images/FletchThumb.png) | +|OpenFetch| ![OpenFetch](../../images/OpenFetchThumb.png) | +| IndentedArrow | ![IndentedArrow](../../images/IndentedThumb.png) | +| OutdentedArrow | ![OutdentedArrow](../../images/OutdentedThumb.png) | +| DoubleArrow |![DoubleArrow](../../images/DoubleArrowThumb.png) | + +The following code example illustrates how to customize orthogonal segment thumb shape. + +```cshtml +@using Syncfusion.Blazor.Diagram + + +@code +{ + SfDiagramComponent Diagram; + DiagramObjectCollection connectors = new DiagramObjectCollection(); + protected override void OnInitialized() + { + Connector Connector = new Connector() + { + ID = "Connector2", + Constraints = ConnectorConstraints.Default | ConnectorConstraints.DragSegmentThumb, + Type = ConnectorSegmentType.Orthogonal, + SourcePoint = new DiagramPoint { X = 400, Y = 100 }, + TargetPoint = new DiagramPoint { X = 500, Y = 200 }, + SegmentThumbSettings = new SegmentThumbSettings() {Shape = SegmentThumbShapes.IndentedArrow} + }; + connectors.Add(Connector); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/OrthogonalThumbShape) + +![Editing Orthogonal Segment in Blazor Diagram](../../images/OrthogonalThumbSettings.png) + +When InheritSegmentThumbShape is enabled in the connector constraints, the shape specified in the diagram will be applied to the connector segment thumb. + +The following code example illustrates how to customize orthogonal segment thumb shape using InheritSegmentThumbShape. + +```cshtml +@using Syncfusion.Blazor.Diagram + + +@code +{ + SfDiagramComponent Diagram; + DiagramObjectCollection connectors = new DiagramObjectCollection(); + SegmentThumbSettings segmentThumbSettings = new SegmentThumbSettings(){Shape = SegmentThumbShapes.Fletch}; + protected override void OnInitialized() + { + Connector Connector = new Connector() + { + ID = "Connector2", + Constraints = ConnectorConstraints.Default | ConnectorConstraints.DragSegmentThumb | ConnectorConstraints.InheritSegmentThumbShape, + Type = ConnectorSegmentType.Orthogonal, + SourcePoint = new DiagramPoint { X = 400, Y = 100 }, + TargetPoint = new DiagramPoint { X = 500, Y = 200 } + }; + connectors.Add(Connector); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/OrthogonalThumbSetting) + +![Editing Orthogonal Segment in Blazor Diagram](../../images/OrthogonalThumbSettings1.png) + Binary file addedBIN +4.48 KB +blazor/diagram/images/ArrowThumb.png + diff --git a/blazor/diagram/connectors/segments/straight.md b/blazor/diagram/connectors/segments/straight.md index ed9c846a82..131151c84c 100644 --- a/blazor/diagram/connectors/segments/straight.md +++ b/blazor/diagram/connectors/segments/straight.md @@ -99,3 +99,98 @@ You can download a complete working sample from [GitHub](https://github.com/Sync You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/StraightSegmentEditing) ![Editing Straight Segment in Blazor Diagram](../../images/blazor-diagram-edit-straight-segment.gif) + +### How to customize Straight Segment Thumb Shape + +The straight connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles. The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. You can choose the shape by any one of the following shapes. + +* `Circle` +* `Square` +* `Rectangle` +* `Ellipse` +* `Arrow` +* `Diamond` +* `OpenArrow` +* `Rhombus` +* `OpenFetch` +* `Fletch` +* `IndentedArrow` +* `OutdentedArrow` +* `DoubleArrow` + +The following code example illustrates how to create a customized bezier segment thumb shape using the `InheritSegmentThumbShape` constraints. + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Diagram.Internal + +@code { + + //Define the diagram's connector collection. + DiagramObjectCollection connectors = new DiagramObjectCollection(); + //Define the segment shape + SegmentThumbSettings connectorSegmentThumb = new SegmentThumbSettings() { Shape = SegmentThumbShapes.Rectangle }; + protected override void OnInitialized() + { + Connector Connector = new Connector() + { + ID = "Connector", + Constraints = ConnectorConstraints.Default | ConnectorConstraints.DragSegmentThumb | ConnectorConstraints.InheritSegmentThumbShape, + SourcePoint = new DiagramPoint { X = 100, Y = 100 }, + TargetPoint = new DiagramPoint { X = 250, Y = 250 }, + + Segments = new DiagramObjectCollection + { + new StraightSegment() + { + Type = ConnectorSegmentType.Straight, + Point = new DiagramPoint { X = 180, Y = 180 } + } + }, + }; + connectors.Add(Connector); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/StraightSegmentShape) + +![Connector with Straight Segment Shape and Style in Blazor Diagram](../../images/StraightSegmentShape.png) + +The following code example illustrates how to create a customized bezier segment thumb shape without using the `InheritSegmentThumbShape` constraints. + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Diagram.Internal + +@code { + + //Define the diagram's connector collection. + DiagramObjectCollection connectors = new DiagramObjectCollection(); + + protected override void OnInitialized() + { + Connector Connector = new Connector() + { + ID = "Connector", + Constraints = ConnectorConstraints.Default | ConnectorConstraints.DragSegmentThumb, + SourcePoint = new DiagramPoint { X = 100, Y = 100 }, + TargetPoint = new DiagramPoint { X = 250, Y = 250 }, + + Segments = new DiagramObjectCollection + { + new StraightSegment() + { + Type = ConnectorSegmentType.Straight, + Point = new DiagramPoint { X = 180, Y = 180 } + } + }, + SegmentThumbSettings = new SegmentThumbSettings() { Shape = SegmentThumbShapes.Square }, + + }; + connectors.Add(Connector); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/SegmentShape) + +![Connector with Straight Segment Shape and Style in Blazor Diagram](../../images/StraightSegmentShape1.png) diff --git a/blazor/diagram/grid-lines.md b/blazor/diagram/grid-lines.md index ff85b0f8c5..9646011676 100644 --- a/blazor/diagram/grid-lines.md +++ b/blazor/diagram/grid-lines.md @@ -283,4 +283,51 @@ The snap to object provides visual cues to assist with aligning and spacing diag You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Gridlines/SnapToObject) -![GuideLines in Blazor Diagram](images/blazor-diagram-guidelines.gif) \ No newline at end of file +![GuideLines in Blazor Diagram](images/blazor-diagram-guidelines.gif) + +### How to customize the Snap line style + +The `SnapLineStyle` property allows you to define the style of the snapline used in the diagram. By customizing the SnapLineStyle property, you can enhance the visual contrast and visibility of these guides, making it easier to achieve accurate alignment. Using this property we can customize snap line color, stroke width, stroke dash array and opacity. By default the snap line color is set to `'#07EDE1'`. + +The following code example illustrates how to customize the snap line style. + + +```cshtml +@page "/" +@using Syncfusion.Blazor.Diagram + + + + +@code +{ + //Sets the Snap to objects constraints. + public SnapConstraints snapConstraints = SnapConstraints.ShowLines | SnapConstraints.SnapToObject | SnapConstraints.SnapToLines; + DiagramObjectCollection nodes = new DiagramObjectCollection(); + ShapeStyle snapLineStyle = new ShapeStyle() { StrokeColor = "green", StrokeWidth = 3 }; + protected override void OnInitialized() + { + nodes = new DiagramObjectCollection(); + Node diagramNode = new Node(); + diagramNode.OffsetX = 100; + diagramNode.OffsetY = 100; + diagramNode.Width = 100; + diagramNode.Height = 100; + diagramNode.Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "#6495ED" }; + diagramNode.ID = "node1"; + nodes.Add(diagramNode); + diagramNode = new Node(); + diagramNode.OffsetX = 300; + diagramNode.OffsetY = 100; + diagramNode.Width = 100; + diagramNode.Height = 100; + diagramNode.Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "#6495ED" }; + diagramNode.ID = "node2"; + nodes.Add(diagramNode); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Gridlines/SnapLineStyle) + + +![GuideLines in Blazor Diagram](images/SnapLineStyle.png) \ No newline at end of file diff --git a/blazor/diagram/images/ArrowThumb.png b/blazor/diagram/images/ArrowThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..113670b949305956a0ced3c52e61f251f44f2d92 GIT binary patch literal 4584 zcmeHLSyWTomJPzah$s-ysG#AQM37D{;*~CdC=haKL=h5tB+^Ky^n?HrFJdG>1f>xK z>_Pg_1&IPmAQB*eN+Vq~fV2h^P(oja`>N`_8ud}*{nf|&SYz+A&lzj3z4l&n&2etq z+MxFAlHUaaf%c#+OfP^yBJF@_?fey3*}v)d3owX;UO=4zm9r1c01sk5Ce|h(5S1di zerfxq#5D`YP!LF}W!prUSBox#K;T%ksmaACw{N48cQAdi&3umQZdQxnJ6Oh~pCLXd zCU%~YR=o3hc2BR;c``%w$@4b8)|G&i>^D|1PnDi4JwGpxlKb80MyIX}SDWhv8<9%S0u(`Y`?tP$ zVF7ghYkPkfq?{z2Yalr|Lfz*JTE91ymD`p((~kF-I?CnghpVDMbp;lJa)S3{@IWUr zI*iSo=)N3`9UyHO>^B(^ZYCxYRV*FMkz0O@r#_3=^=K%Z(#c&C=>xOwYx}f4Mc?H< z2xZ^SHzZ^}0S%u+yg254XNzwOEih0gYs){5Jl(Qe(6U#X1uK>|Dqwmk|NbpGr1!BI z|9guxGeJVmbN1s4{`z7!8Bu9BIQqw={6x6)*WinRkSXcS>C=!TuR-o${GO@3Q;>q* z!K7z>x8;=EvbAvB&9w!JsFd!*s*k%Wt4Rp0xCp9>GMTtSSJ%%NP^6g$2L#&$2k{T4 zyudoWUY#u&S2kWjA5C^&eV@hc)b3X2{4%I#T6I$`XtAE)04?0}PPMuv(7scj97^s! zX5^1i%XA>Fekf=gq~dTus)FB2C^O9VyY4-EODZKte(OPeUdNWI#>kC*_*XSZAZ7PN zhac(Egvs3Mhzt#lvV7v^O7PH?LbJfYK>Xfjw%53gq|TKf24vU+DDxVM!vE3W$?(lth2pF<_*VHJt>eoV+dqm8cc-tlf4YWc^x47fqi zx1m~U^pDwWV`7{a%@2GpUQ}GkCp8y_pM6p2;5l??ecs1d&0VC=0^wZW9=fQzoQj0( z({BGZ58O9WP}b|iQ&6N@bger!m6yFw&EX;s|G+3VdWkn`(8y1@%IHNYx;E0i0Dt2t zI&EWw1=m!ELX=|cNr*aD#_qY53hJ*IU4k{JoW39YB^`h6=X05V4o_2vNxIye)$CX^ z>zHUx$TjiTo2zqLfkQP1jN@X|o$E?vSx3$$nsORrJK#pXb_lZY;#zEaYugiUzD-)f ztT&L>0bB*i&9y39IRBGaaq)q3j5*)Yz><%B35J_9GB9qApB~s@F#C;#Z=|_A`a-$O zlK@^-X#;dhJm9`X-L*1jv-J;Y;ALbU(~@{xoc6}DW0Cc;)n{)(ZS~=>9uuwTrD;~k z+;tIAAlLb%xr!zuD1IUh+Y}dzzqp7K5zi4%L)hpc$*F-=!Y@|^QQs;iKRX;t)nKcz zHH>f=)y(snP3r>Pg;$G@UFi|Q-G<8yO5DZ!3``btB9J4|&r5}G_K@}K~drsldjV# zV^I4^I5xKjN5+_c)LAFb^!yev`z1y3U00b?ZLw^-HQj^kpAkXZVL%4hh%A3b*qQE| zt@4!`X0L~x?bqT~Zd6TIZ?$<1`SH1AO$SdrCw942gEj(7Z?-v-jws{EPy@mlxsyuo zBg)_nVS~TZv5}dD`O&IBhp!r^iAC%hK%iAUv7Hb?_$OgWlxtVK`d$E&pk9)<9X1J} zXpn0xd?oML9RJk>A@Vm9#3Ko8(9Qpz*DFbM{b{k|^bLzMa@VY7fwM?Z@_4xq7{#uO z{bdPCpK}l=rC|~v37CX+bK7BGsHrSS)>Jm<`ri>wigc81BW=_7|C|pX9^qxsAdCNP zzB_n#6aEpzxozP80{rI@05?Ma190sxhrT;Q?cQ;qL=m&nm@tr+3=X-*TdCTLWjZLsjFsHB9v#-mptcNIZk5-HPl!$D*nPK>sB zioAWQ>2}?-b;oz-Mm^kh8*wrnXao*0J)lsE%E~lQI{K6M>>dXW*PY^@&H$r*#ag}d zw#z2^=lntCys!&;t6L3WGoEtN7molD+6MIFS7!>KV-F14}18fhDADjPwy&J9o8 zqu}tV^zQbjifIY10Ux~c(%`5}_!Yo&I2b*6bByj-7&^t?rZ&oYIKa_^3{iVn$3`b~ z@Muz(zE3{hJ6X}V@dUZ_#i!K;^i=14JA8mEAG9=1F>XBci+rxd+v68ZgGTCuGoJN# z8Lmv+rAG0&x*JO$I?^;0kWtrm%bz@^A3l3A6_kQTT-vXaX=7LZ`sdIe$H=Y~&hT0| zWUv;vNzL0`0%&Bs+X<>Z<5K^c5cvNooO-w#jv366XZTLX2TaASd(2syKycWpLH(+2 znbKA4v zRA(QQ+SXa{S0UOl2ywMCI3KQWATPlcOf2TTcWqz=n(UpBMZdhtdTg zr`_6Uk6aD+MkMdmB3sx`Yuq>B5^AmIWax&U%n~0E>I&PAcF=@~@*@tmYao-eV1^?*7U_9}Q_0Hpos8goHqt*4LNAASZv&7>_ zse$lKsykyES5;5&X2@yo^0I`dH#?|gIy7xGHORThR;eXK@rmh^V+!GFh`x*T!gN zVla{u+wr8BlVsE4c{;E}x47=m;IFMA^B8fI6;VZ%M(PP6A@0cW~(V)L0sm zM>iV@OSGul3y`wM>e39=xA(E2WVX_~D<>O?51DLa4h;>}Pd_GmPWL?OEw(QakTld_ zdfuJc(|sivz4uGJrmf9v-C)mG8$X8?#GN8ZhD{AH=vH*eG)^kL?1qL0mQ{%G`a>>5o8XfEz0wC|-esC1;+Ivt6XB@TQbx$TJ4dwq z`%77E572j&?B9NJ`L>qDVQ7=*aI+Ce8IP`2(pEH*GA=zT+-cw>l_pkKjsN=*WDrr6qWQCfdt=KPdAQPKs7YiP{( zH>`lF#>Pg$$2`g7^$%xZ__;D#8-T(OI>ecyX`)7Sk5X!{qLQcOdYe!TlQr+&x^VpI zKQRudPSQa*P*&4|Qdv55W6NJK!Bv!ds2tvji{d6m+t^<`_&OAj{ga zvbCi}^W{W(aneLTcEf?OFbmtPRHv*|n3WO>cX|g`TQJ3wp`4&-O$3+78Kx!ecCQn3E9Cmu&m<)WTe5#^{ zA|j%0g#L(|?cbRa5%G84QIvn+f>;`%bUCNA+x*M9!I2EbM>pwlu`dBfkA#x$~-zcdL|+% z$re5w8zAw(!J&9+disv1XDy#YtWjvR(fqx#N@34jg|3;7kA}*r1qHmzskw!PF?o5{ zzqYrRaW2CZS@JS76-!D=IJmf)V?MSCG=oVA-FzA<>deouaFWz|a8|IViAO*nc6iu8 zf1*~gH|_Q7*X>5)|Jf>13?PY!lCS)49Zo%X@PKq_?d?Nt?Re#9&oIB&?epi)k+HE{ zJ3BkS*X{S~Z)Z^}B}h&_V|fAI^`mcgRn?=sygUwJ;hva}0(9tik&*OYTU#R&6EEsd z@Yh}B85$NJY7`$Du6$6yPFrA>(yV&6sHVoi5rz5_QP-~vc}<@?ckUa#^Uky`nBXqf z4sgtR!eWp?Oyu%9_5b~F{k`wZ*4+p_Bl79NS6A$L+oCJSU?OIo=?nHX+Y>>n-%P^3 zu64=^q%OEDqh`N77(YLABO*Vha@ zQ}g*nF|i1@JDbBOjW{XSk~7Srs-Y6|*S@y2-0(6R@QjM9`?!H!=zkwI5;OmIP$D`S_yuma8?ayy)(J z$JkCE?)|KAKanf&{=AGN`qn*}M|5xYD9ltUur|ihqX_ypL0n{6yL)6p$OM98BbC@U zzF&8mio4}*{%Sfqof)MrR9BYH*SMQwekb&lT|4W|XBs5a@b~l%JXrxxW`9c<7^Az3~uru#S zDE^P#N@{-W3ZukI?e zb)2Ye{0My#LPK(ADoSnd%mtyQ7(4E0PjdDpKs*Jn>{xCJ5HU9BA! z2Mn#;Ma{>qN;**?P&g3`>>1)xerbn9TjHLxRY#)uOjSKx0BZ_Qbe~OfZm%t>-Ob~3 z&`}8M(^|9gSyFyqQN%P;6DTr6M{^*t?rxr7i=m8(i5b$Iy&cBNV$+kY_7to!#uT2r zD*Trk$YBN<4j^T8PcY%UEP~G5yvEkN$g*dY<@Wmh*b8|}^vbm6p0B;S1qbtznbc|v zyXGDo7o(VyW3jujz=d_+!fKe1Xo5*$|l9yXU)#uu%{pr^zhTukoi0KE7nZhAI?9E`W4)`pKu=ij7U4C9it(~CkQI58vela~qWjz+&(wzmL4ic!vTN`U?X_;(x1w~v|-=q?s2w-nmu71AbNa)Rt zs`>SWd8WMk2sP4KJD-CLnDBB?{M?G{fx|8MG9Pq*yyzva`pQuPIGoDN=mOP z#W)n}^hCmMIVIF`H7$AMKU!p49XOc!wXj!74}179+Oac0KA|^jK;u@~{$gn-rbuzr zb(Upq8)Shg0k54P9{II?efw7j({E47`l@rJhteJ-+t!Z_&~>r?AhYtiF)1_QwyRXV zj!O`$;9RywvPisd54Tut$Gyc}u~5V2^#@JS}3abrH#~SfB`qPMYCatXM z0@QXb+344AYow92fnV7J*rNJV#eORIS&M@Etufm>i?>5BUU2y4c76YhL*`U`IH1v5`7k9adDv7h+*3C^tgOYHKiz{B#_BsjqnQ*RTmjRIM)6ottc4yfr-B3bzR&J`m0Y`=RF3gZLx4wX$2<1nO+yi9K!Ij_V5hX4 zI~x8u86wG-jVsMemp&j`IE=g*bXdF+=eQ6X8oJwKQU=)6P$X4@2TNG-ik@z6|I9|3bOStJ%Oau274P&q{^tN` zCScRgc#z!9tlx%$AE5M2Sa=LucK}-x6Z4$MlDG{mc#}|n(67jZi!YoLag$otSFpb; zy*=)mwHcc_m^^Qbh)u}3Khu$9eIBNjb}3iI$bXb^ZO|emZckzzK_>nF**9bV!S@|I zS<;%txJKyy3#qw5_Hq`;wU+flR1&p{{p&30MEJC5QPAc|0X{!5lE4zj>AOAEmFwMb zTS_7y@~06U$~iq9!|p$^jw9%SK}|L+9n8CpT4Ih3)fwD@o^d)9ukSp`R8Qij(Y;hL zW@m2Rzn9?cbQ@2^+QseWbjQ1mzgo5SU{hcJROTfg@)i8IViO##133j-61b4RQ}&|! za;37&?i_pR_Qmi}a3zza?-gS3GjocGozh#0d}Q4e@+2JIg_ap4B)5bA`n186$>Kw< zLTeano|E)U$e1Ma?D5A?xyG5#j7BgqrxOI9RAPFSS^1t1T^rUAjfE3?u_L`nd-kl> z{W_ioWf6Ox!=ou6Fg}yA8-R&4QQ%0Y&gvm7+>Meb&HtnOtlCA7W)kc(Ejp6{L98do z1;zxJOvg%`lbwYWk{n}2ai>W({D=16m0;E3U2X0DFKC_NnOGB`A{dtz-U^w$PW0Fu z6mnfPCG@{f;0vL$Wo7p4fWV}xM+f$zZ4Y6 z9KO~tId&#t^WZXM*R8_J87BP`+cfeduq%dN^kx;9#q1KLj`r6u=T;bf$dRT=lFp*i z%u9W9r;@zKXkl{ne~H?>b(+J!&_b?of~le(%8wIAUCnoFa6ZYzc4rau-40@vZ!7UK z2kTm3nPk98S0F+Vr7jT|DE5Pglq%e`OeaI^d?=GhYYb6tNGfq;@aVmpZtKX(!`+4H zJ{_a-EV=nBNNEVkAhtCXP?C}>){od8fRq$k&3ChaJP)Qr^@L@0+pXb77K{z(ATLB?t2Y)dI-Fa>p z)fo-oa`+_^wR)SoX@e9jX1PT?17Irux8w6(Q$f;xVF z-b(ny)qj_q*9?!?d3fNCj*d2g)xecNqGsvQ1qiPLwD?k4&lG^AH_DehdhHx&Y?l+k zjlgAm%0YNrPDKC1RGBGC^zk|I@4B^8ku^V8D<^)>W?j&@fwa1h1vo6gZLu2w9z{Jx zht!&?@bFHAGOMv3F$c8ku8cij3xN=~J6}g&5P*VN#mKX$Mrz6SU?Fz^wM*3v%plq> zY)U;_)V&~N8o)=!bO~%+XDv07r*EkJ?{(*2BSolTNhtt&pq5ev+aY(^4`k_^kq*RJ20%)l`4XCtD=bZx zotFBYzj{%q+RPWZXEkW3RTn8OpwH?sModE90!h9KqGA9{xA8z%4%$^OO-+W$VmN;g z4p^%fOWM9D8}dCW3!iR_ZTm!V$p&LPD)|~y6l05B;_rrut=8(>mPhlEO(@`rLKNNE zyJiG}6g9jo@fTgEA^_T`LsO_Od*FmxQXpYxm0(coOqRygAQ9brcI(7VL8-({cL4U` zHW-r7;@Va9aq4@itOf%g$}xU~^6u=f^?#a~acdQbmA2y5W3%?QtdYiu z^wuz{8!)-w82iVc%@1?`?&ZmrHz&Ia83q~hHNe=VBS^!lT9`6A zXa#)8?F?h-b3{ zzrA}l=HZO8f2AHs(gYkr+CFv3CDW^inL55M!1}(zB;oYVz~#rQZj7zI54i)l@Xhod zJS_~`L-llSumDDR61FQ#Uy&_ybyWqzv^?NJ6m<};Sq9Gr&92&L7w8&iXAnP;#}hqO zbcem}v4EDOo-XN8N-mO?20FP)wH{zH4s|>E^6zJj^VTu)=##RTx-bC^3udMI`@aDy zv6T29IIE+Bt=JT=!?>>^bby#am+{^-eM62D{cgi9Y~FsOh?on^kRV|cTU~Ro`F)dt z)-W|a{R%RrxuB$^Tk4-a{MXJ-AU9Y4eOb-dB$7RMEm0D-)2-1n<;?WI(AS2BFH|g? zd=nl0nFUrws|mEOsk!+O{T771nwn4SZnu5?T6}yBVCAp16-xlJl$D)*8#0*?*7arf zV+hEEVv%sVVMYZw8(8rFI(=Tm?hT&)U626BoD|Qh0;4*_RrN$9T#@?bI1!YPRXe{> z{VOt>f)`)`WMDDU@j}FC$T2aW8XPLOwxzr$3(ZfO*@^jikaxtxWFcL9qBjgIwlMZ> zVNU0$`%mdVUoc90Y<5Wg{H7y!0L53I;nh@rX%A8RQK=nZ3D{E7vO;&LY9sAMH_<7- zB_Kbl`y#=a4#2DoFEp&ChXp`EB(~HCLc|aJ@BWC{3DKMZ%NSn0D?#V^N;vCd{#^Jm zN@8FT+*+-OoDS4im@@S%>{bDo4Cx%7LIrIo*QN3S)4>um4C%LX(2dg+{99i!B9KP5 zcYMu(rWQ3Oc?kd!8J?|{V7J&u^aF$}Q!og!m(Z<0LbsOB2ny`Vm%j;Zg9g5{A1bxq zKXTYTvjIv1AANc(-T{JJ&%gw$Vy)}gJktw^SirklFm7w0?(iYR8G!aK=d34(hR^F? zWlKD(A$1?*LlaiHlVGGs^ChpEi%;u`*R4JT${8CQ<7L9)3YG5z7s<$#oeuqy^aL>_ z`J~K6y5EjGI2r;^aOSTOh+uM*P+WSBU-v<{5jZXT3*z`ff`8XI3LceTUuH)b8uBd+ z6vfWq62AWqvqz7v1K$VM2*Zva)Bf35lX545<{BIz>t-=$gva5|tYf=ibIV7E$xMwD z84OJ5cfH_V!Xl_A{U_Bg^QPcYrx~*2@V`7)8e--$m2dALVe2R*Js9Q0IDUNDi&axLe2{ycmcDB0mS3$a3v}W9?LKE zr0L`ZamP&8LbEEhv5cSZ!>CdHtRa3>a(JQ}*{X3*-1x12G`teB?&rNA?Y92qN9(RZ zn^Qvf*1XJ*IRf``t~{7*xly+TKEhaCUEF}GJzi=q)ps$5?^vkoY;}1wQjTZ|qh?g~ zeVo7|TB<8ECV3t1ICd#9#vy{Vb`c}WTYa715=XT%a=s^0pY-+uc|5*)XC^`I9w6S* z7*j3astSiab-Fa7Bg>u$gnL_Qrwq@S$5s-byado3u&ud_u=wP_(M-nBP*{)h&8o2F z{1m#5+??d=@AWH0jeXal8>`wE8q_|otW2gC02fk_wMMy_WcpFbM~wnHAL0S#3MvIb z6o)S`30xp8g&~w&&Dc0CE|Q!Om`dFJEndVLs(jVHPVw~f)V}HFq1@;vPfP#_s#_P7 zl=gwezWH!}U3k58{;Y(@dBRnVZ2-cVf=jjlo8qi_e|39o2+uReWgi}H)xo!xM+kkH z+<;Uc3*G@;CZUJHzwdkJosQPShi33_e(-3xB-fcZM}Vr$<%a>w8GG{NnNIn_a)p z5B5CR{R(2vH2Ko=l~0bn_m$%iZ7(U$wkxDq$Js&a%B7u_YJ9(J9ps8{Dmp#AoJ6-y zCla^|1x>!RsELi3Ci|aP?Ae-gpG-^Xdap0$CSnP|;lnFHM2Fj3_5m-6Pv9-zO7ARJ ztq^&$X$8T)pF|ENz|4jur|vuE4Qg&8gv;O2!wycXfUB(kQ`G>`^t8{o*^)7C!kjDMh`lTc{?k7Dk0E2-~~?LXDJh=cVW zjqXa6#RZ_X^#Y?rov;4i7d(}nbPOC`y@`ow-TpOciSqwV-jT4hv<`R-Z!zZzJ9woG z@s)a#EU%+ORrn+dY}VUZ*m#R%*V~?ZOJe#b>Ogvj<(*Z(DG$WDq$>auTgrWa;`ljo zDkcudCh;IUKBo$Zp4PmF`KCiQ!AHf!GB0J;dQP7{xno}nxIvZUKBsN&*ql0b zY6|igxKf^X$JDDq51XZsBw~}!w^5)F4YIGTAAfVcP7%U9Qy*jsz8Cr+Q{Pcj4kvs* zXlS^lUy?O3@dV=Vi}~A&fF{q3fl6td*NRiR#oT|!R6<<5-TAtjs%OduifB5J;!(J$+rcgy(G(R>{^Fp8z`5y~ z9(ScHnVB`{-MR?dA7gX(XR#}o%%yxaLqN36MPC3d zIr@85-=u+6MSAWMxWF?)^`67Mv7^?xu8isI1iO-~i1&J>x81gu`LeRIpz7<8=0{+( zg$p@Z9RVFvI%+K_VKJzsA#LU+0_s;0U;+pE^t<(loSxtSlp_$X(+q>anOQo2JWSI` zrc{OT0Np>UA$!mpEVBSAWe_>wb;5vKw}L6+1{R+v_7avgBWFTpe??)?V{2q-bmau# zb6In54kfO!b)Sj@W$GfmIaLznBJ5lh%&lq(vZuEK<}^?2x-EVyen#U0Qe(KLlOGWk zGnYaf`cWJm`|Y=sVzYpW#n9p-ERS{v>ZGtVWC?)RWhUYYrB8iNgg*xX%&qJWlkm95 zD~6nJFt19#N)LE%xT908a86F=EhppBXday*9Tg6+4exgMSV*w3b*B<>P(U9cw(Q!} zoi9Jh2Ci9vPxUtP-1!{StD&4kaKx!dfpc2B2_{ZcgUt3d#_;f9=x%VvYdyIKl<`y0 zX0=R94a7W->!7cHSNa74CQBxmgrIpDB7~nTwWpiy7c?TI$KosWOslu#OYKG^^nFYL zoT|7o!GJ+w+l0Vfut>b@&+7KhjD)PQx0M}m$VGq4|D@MS` z&P_lC2u7kY{GKVOKu|!Iw$0ZRh$L1{MZy<(IOqXE*I8eW3zbq>1xvWyI(E1zR@lRF z!H3+tX#e1+msm!dXq~#2u5Qb_(%WFxSE50YY0MzU71Y3Nzmh|B#WopsXq9R+1}uSz zWM-6B4EFDHWsMX;Ha1s~u%73D>;biM*g7VeuZ(}n&hc#mD7*~{&P$k&>ZtkLoK}!K z?2Il)K$pqHGJyvG;pHu0iMNqiJrm-aN<0piV8PAz<>Tl(@5a)&fE0s6ahwMaAA2h( zg-@@fX@3vEF4Qa1{^$D>FT5AATcgar8X0 z+~d1=*cGryKM90V%ClEnAUK4Ft3c7#lez=4zG$JEZxh&#+lT~F+xBon81?bl2W+5C zr?e;>`TI=EuJl)W9Tx(d+lkIQ2TB4%OxgYBtTsy&mqrXgyv~9`Jsmy0xO3;vx5`tn zZ~z-C8U)!OA2ZB;)F4|uX=t2V2UPv$z3(g!pI10km(dg1Tf*Qgga-T7eW?gk8~+;?lr}l<*#YO&Fd<%rZ@dn z@(rur&OVCy{*&PXZ1J+2FeQ+2D@i;?CtF(&n(vIsG`IDx31_Z%oN;}=E;~)=^1z|^ z7ElcitBXZB@mmf0V0MheK?f3IhZor}RV*A2dXN<3Md%=Lw?5z31}RI?=^Ag>qGghw z&?ZxG=eqR%WNRCv`P&EjLo_s=~M;z1eb#<>y~LhbH_UA?C| zsUJSvSl;dcUPydA(_Slc;5&9ji|4lWru~2PKj_F4DGL>gnQm>oWXl7$N6K~g4lN9A z2$fAC-b0vDefCYCUntoe$a~Hx>pGxG~sB&`N1(nOkNvsCnG?0@9ZHs4#?wGttQTd(Sq-klQnUtl<18T5|S?C=o zvD7nm5UvQh-p8-2KH1oeOdb3)i`xzN-N~nh*-0F`ghe#>Gx(h3#@v5p{-58!*dCB{ zJLGt;d!~L_*G%sk4XcG@`wuFxMn$Spl5E&b8kIT+dGUons+?{oMZEwSsE3a6Xag*D z4FvowOG&ELH`t;VM1whcjN9CebWE0`x@I3`e_xkgH?4t^1SfVhU7CTVu;7Kz{L3>a z;p|ba46~{bYavJ$tcXBAtakc-9{yD%W+L=bycjIw|Exn60?e-1w0vbim|aaREdKa3 z1_r$Uk^ct&?tKN>@){3MkR&oMKR+uk@2-%r@SpxoZte)s4*T_QE@FmsVg@b={`v1% z$SEc^@Vi0uKZC>n-}?Kn2JZje)?Zfo9WPot-+3u2rbnRPo#>8|x?I-}C?|XA!U5S*0mIMZak*X*wXu@D; zLcy=kIYMy7sFnLG_;bcdQ%Me%-${oBAMh~>jkzv;K@H-F0Z(mU^W{QODY2D5QwCHq%3=e_lxE_CyC zD+oS*DoLTYjyDwOqNk|%fMOOWqabq`zb4q1kf$AwzK4-r^jxgZ#AiZ07XIMTLxbe`tWE~!Qwsdqv*VIVpPjl7L zabU(oG2cZoW0eZ|%pKkYu&)&Uc(5sw`ZF+xz$qB4Le2pOGq^4SgXLeOgTZvqk->a9 z@QGkwss7Ky{Cayem4qF8mCVgExPBW+EZrv{Ac%;JG_l*DJnt>4q7;QacjWX2s6dvv0fS34Hjk$GEAhY-E)5ubV>i@14$n z_mV1argls3njTxox_ieqKYv~{H;$r>9ux`fy2Gc0JO)B(5U?Sh|kGUIeHCK z`ux|{kg*0v2-Olo#o@m^gephX==SYApqi>LvmK2y!Bo7Mnero|r)h6%<3|-275U>4 zkzL5wD{ib6=c_9T`ZPNB{Eb17y$79e&E+VkW2z`a+K{_w_In}p%8}aTnJr7=v>z89 zXN=+`_a{t?J@*`~`ZC^+xeOWhW@<3#RXV0)c|G^$kQ?90rJKQW<}%{#BES%pV)G8u zjoB7H)8>n!b5RdjxVSnFsSLJ0H6AMFu8-Ha7i$r`uDtXpQ$5l27g+0!ij=0!cK)s? zHSS7<w*_9!uwdYo`?c4_*==EkGa8g#GJ zXzaw?-S3(V;;nV1Yd+$EwP6fChdr+v>xmdR!z8yq(jgX8w&8+(-QB*mb20j}+oSg7 z>4IuypXxCUsboLiCnUTnBby`$+NL-6ri;P`^v)JY+CIf6n0)K(ovbj(|$zI480_xx$bz2N1t}0J4L=@xT(f{b5_G=Kaz`7!-G3B@nu}Xi^i*b zc4H#?OI$o*(S%JWiB}6y30IG-yZfd@4pxfIcE(+iSNY9{xjtas`rQ{2EijorC&y*Z z7A-h_8g&q}@Pqgt45idls1zl1_5CJ+SAQ(-J*rUD?)ttm`lODmKHk1|B&Ldb*~A5# zj*N3!P)7s9oUhq0vFfvV<78jEmoehHy)shPpl?KrC*{Oq z8}l6X ztQ~J?Ayjh~dStB}SGF{_0&LV7SZG%X4%dB7BD0M(%UJj%;l0Hc8dywe4%dr(`5-dK z-#@6G=qLONO`75!`eSAs)OMbaRTPS%30UwZ@q>(v#Ajxbagq~Wmah!lp5YPG|Dq-q zXjN|h)!k+rFKo|kk?0b`MXW(o<8uG-^IPsB)-^0PGMhf=s)JI8k^3AK|6(5AbkEWd z>QfD_S8bareAx36U0dCRm{#BM?M+tp6tBK*i9yeMCBM2wVXLF%H7 zVq5(W(;uYXDY6;i)AxsC3$2Fo69ue#8)7Olo7{g-|0ptRyP|)Vg?sWs=<;mssJT|0 zn%(y=$GR!UTlvV`*NetD>IptYp*$}ocAw+1n2-d|jh1;N$_PXIIg33HF33f=auiCu{Kp@6*IwJWhUEO9Dwv=9) z3VZT)E$2kXb|;qKLTtiS>G@zTFLGfiz2{)Pu8!--u$8>As$r^vzh{u5TbAXZMh9^< z_1L#b({Q=_>d&ycy7Jge3Uz_{!Y-+U=Gud`=Z!RSFUMVUM?BWis~jJur=N`!JPq(- zHIJ`lYk2GBvo}Z0PtH71|6(E0Rh9AL?UNhmeu1=-lK%F4=Xy>&X>VVzx;J@=vdzm! zav5HUvd_<%q7f@p#^fSTRrhP)shpx%%gdhtkld1`$+D-Gd+pY07}rq`1kPcd9Hd^z$X#toJ4vdG7D^r?+E z@_;t5EA(-+Jw*##^HzLD0=GWNLTu48s?G?6c=IH2iZ&CMxoF*1dXJUsVbaGHT*T{% zt`ody>O>kEt9&Jqee_~-jZxAvD^Hkqlg~nHaPhT|Qx0+gGZ_oQ%5$4sX5&>Z=0!={ zlv^G)BSq<6NPgEzuX0htQiq>%`qLBF>}#IhFj~TwTlHJLdDWXRF<1$%>XDA9mo-#p zcpbU1nv$8#^kx4%&rcr7gLLQRxe|n)ZHXLmmXOxW^5Y#BJv+{@0X%Yvi@E!41GOQ! z0AoGcLOK*=>poK(11^*#dS%k*1kLq36xo!`jhtCBYm$F`fmrDIAZNv>T{S@t;!%Az z!;RvOH(wrR66PFNksj|aqski46wG&Cq1(m&T2e^ci$o|?UI<;+q58N`Leku@^Laf^ z3hnk5f3P#+$sW&q#86cy(@tFHm7#~X5maH9NUsS+O`tv69%@LMsg3ph*u&wXx1A4F zn^0?YC*DprrQ-~U#p_NK{z(W&Ih14HCRU6?`f=5;Dar`F!ogU$XHDNUx2kx9hrD%c zpzJGwA;Pqk=**t&NC5FwTGg&XV+1yR-kK*fzjog`md`BY?kB177?Di=4wpN{-gmOQ z`y#}K^Gv7~5}ZP>GWVWYR>lc@Hd46nB{O*oF5i2m)enydLkS+kE~0LAC7eT@ta+eI zJI+iYp?AkfDn+YR8lm;txR?97JhK9|U_ZeoAt|k?+P6O5(7KbO^&1Y(PbD**WsHdY zdFl=wn>O!I`h^;bxW7up8<}Ye6Q+hQ@-7b-&b*{%>{p-;?|(8x9BH>0!Mq>T3WBXk zXA54-SKa!QwNg32io~q^)GRkG9pu)$Q>{oCbm^gZ73%i&H#pNqn^lv)Lh9-i@;+C!C zRv)}d-4X0j%W(yTW`dPOW%WDlhifbf0V?E%S=m6&kc*d6r`dWP*^o^>}Xl|8_)kfdTSFW^P zcYi=iOaFtH%bmEv!YYMN=!+RQ_I-=Ksv%>*Uo`1m?+UUA074_g&vH7eF>O? zeNJ9}gXLomlh_CzLoDZ&T~;Q=C%Tw!5-Qp_c0*?<+p)@-KgT1iM%3&$y)ld~2@q(y-uHAhl6Jy6?$FI^Q6~_KFo@YY;g@ryG&y+bNht zM$RI=!`Cx6Bw*4^BCxRZ^z_(YZU9|&;LCosKS#z$=nUr|4FkcV86a(&TT|p<>C9p% zdA4)bZZL1k?ycd~&Bs`hko|v<6;&idS4#^ohee~macH#h(*3QGc|^Q1ddu#Ul-E*8 zhPK4%)x!jcpPfO!2?A^K+| zu>EM1O(V(1uH_mjW(@A#35Be+rk}ijC@0%w)8xsqt6sqqznZ=I_<8C${gO)YKhJsh z0`|gT$k4SVzj}>bc+#_&>r4c7{h0>82_c=KVp{Q+xi!1fZ^6;1gZE=w#gy_(lCQcf z!twn~!EV100GQfpyh<=LH@qKgN@vLsulp{(M*RiLAMf(6j+T044 z0Ov-JTOQKrl-x16BBub1#uxD!O_rGTa@4kbgpyJ8BAtw653x0~QfSnueVw6sSCXxo zUxShZY%A;eP(Gi{@NK8o?5wQjn6q!*Pr;UAlZr65<>NH#GQEsos*K{+t*B_DqyzB6 zLtqFvNlKX@GI-heuGNnaD)1h6@rlA2aasd!*piyxe+vHvR_(W#yOFMjYz67fO3k-H z-T_7o*~olUbiSFOMJJs;3Ck6KJmuR+Bg7X2@4dPCsDZ}!*KBWvi-4QYSfS+Yv7*k4 z_W@)g1H)v*at;9uj{@GT3I%*{HzBxuAMs`le<{z+li_!k{BNhVyCp98A#dL@6Dlbx23CG!mXsVn)hKSFPh{`h zd2MQDHbQB?H}?pL1V5G^q4$?^9DfE%h>i^uO2ByNnAj2={3}DO_i@;5L&0l& zrookWU2%&&y>&i5`XmkHz*0XXY1GcgJ)fNlAdexwbfY;Xh@O4O$RkfLK3ge_e&c9o zQmx!>Jk4c!@F|{xw8==3nYsTI;LhCAN4UuGvkmknbo6RlPM_@39>@D^k61WPxG%KK zcf@xrmD64p+ym_AuDzTG6~a}9G#az?sLmUW!}c}dcY;W2h2Z*d*FbYK%rniex0Vfm zrFb#@ar}@X(~zu#8|T1@eB}pK+vAxqY1QhNtL>ieR3dN0Rv#;Fj5&3+5KtR1LVySx z{VGRZ;|2Br0tNgI^y+P+9IM5NSX6*a^1N>|pm%IHHNSK$vwv8g(xSRZ6hK5Sv`K=? zzR8x7(kXr7$$!p!=Dl$1^pCf;Rvo}BEgGc=$>=QAUAP{XG~0a{0UYeMY{AS-nF(Hn2My2p?fd7cV%J&)Dht@{p|(aJF>!&H3I!6D5A4w4$PIUb3&m;J)kd%f{t) ziIp`%3HEhIgYB#5B(piVxCHA{kdsSg09Orj=?|2xPk5}`&WE&rlAatJl}Ao?UsJ$R zJ-YsLiNG4TE-$W)r|u)_L;m9)KZnFo3WQcB-VEk>&kM@&3|)0?YO6`SZ&a;DIA5C+TSM-3y54s#i{16_G#1V zT^I2cq2V`wcbS?xK9JPKi;>NF>hVxwuii|LI(=@(qHchBNA^+}vwdE;{E2;^`rN)z zvKTl4JUGh`M+|O>6>VRUucv*@5Uz{z?j;~|aT$C1{q+dfM0aVXH3DZ>b!Slh+RdRP z1I?M2jIRb>{G|*o%pY`{wSjnRjbK!wcTa-^fq7iG5mSy|p=k>xKfPoB1EtvRMZl9s zc<7r{m*aR%UV8#QQv{T)5l#E_XYooLAC{Aw&NKjm`o10W0JGU$y@TCJeA+vDxdV`H}=ConWNkN5`x5fzCE_cdVqaz`Yq30dwHZ% znCp{QfGYXiHYO%h02=FUTz~972)iA+$wH^PsR`Xb(=^Z&zvd34E=Zfy|3gqb@|4ux z{&t>6d7(4W_DlKnZ!aJ-##%0)1N*CVAyj#XXrc+B?$hK zrrxgr8qi~=bdKy5aHe50$v+!bl9`f{VhkeYLw%B!ci^ruhwr5GMhmp`ASnyBg~0^D zVr`T>=tBCmvqF3B7VU@FVF!z zO+2N^@9%$KbLZqEXR>wj9=8D6+59Xhi=zI_*KV_c(##YA5g_33#EQG-yOU}GOpx^e zh<3B@g(nJ7zLNy1YH9&Mylri5ZD;1^@B1Uc`}?15X=(W|HfHcgg8!opzs#K(vG^pI zi5kq)w=nX!PCpq0RNyydp)xOCyl9x}zE&NDM5-YWRez*(=wKZm{!JB6Fb*Bi)-_}W zDH#&HHXq}q0>r=vun#~(rMGf`(hq6;7jvI|8dAOVB`r;%sJQr#`rO*pCF~QpxHA0c z*B?7*E35);ZrT>Zb(*u8ARlP~(9{w^Ztu_t&}u4mO)7rOOE^wysjX z2W0ouGP40!T$A+i0|ajI`om21QdVWbzpg*;MSHlqLlP3+7vKt07+@1zN^qCU=+Mhl zj|!hDc1xk6^P7zI^sJ13+>uy1M~r`#^1_|NvefC*LI}V^E+BZtn>Yhq2NUrNNF}^| zYEVuPut8W{m{rw0Ie za|;Xc9CFT-4>@;FVO+YS$Kf20&j(QIh!wDk;35tKsO-b?lXrN^Poa~Kx2sZ7m)z3o z>$3zpx_iD^6&EF(1!z^sIZ$#aU{xjnVANkH-{6*E^~-1=;kQ<=*Kz+1?gcWU%_e(v8st#NZGJ7hv_W%-UjFK$*Y{=&YmMr~yd0kE+$(`SK=-?3udK z639@O`2e`a4&)&9kg9BlaHn?Omu;QS@wG~mIR}fig2Wxzj{v7|`At%QS-W#AfHcTn z34rN6)VEt+sI}CCC5sj11?NR9S0>)9vNu>Q)A3%HPn_`~x%6QH*ND;Pd`Cy>jjFJ< zoKFuT0V8kO?2_hz>Lgr#pP)J2rr)sL?UH5l8c;x`^(x(SW*FC%PQBrEupK?_IywG| z=rC*wrs=CbcmPDp4mX7oXXB#_N4apUf;cI;KeHfsTasN|p9U)%n^K&Rtu;`4ytepp z#nzwe3!nWUDaI#01g5O{6~Ho94vx0kkRU3r#Yy@ZY{jBQ;H4!O5Vl4scR>VB3x>)U^j^50thKsiu%G)^KUg{l*bIkr$Bhq9j(6(rb;+)8FF;4v170qn zd+Je%ECCJC8R3>L|^t0lf|(0I*`z1e?O;&f zK32s8Q{4^O+>)vX9H_LM$oc&XAflN=#IqR2geLPL{yVLzNGDuk2Nhe8E{gBRPi*i( zDg03LG%IMsA&H^}1g?3Cuyv@6s-UlwTu~wN%t1>_>tnw8-}A)${Js(AuFj=D9*tqH zVesCS1=T1vlcrEXSCX`jM3sNP%1AK+DlO?CP5=u6!6fRmUuIaYah;KQ`^Tqh;qO4$eUW;p!&yj_zaw%XFt|t1KVD0S$>0_n;yoPAuYb{h4GVhbne=FlZ@|unEBW z##dii6hP{xeoreHah|*4Yot-rE8RPSdc6in z30cCJ<&PlkSJt@;IQKNjlS^tr@~6}Kd!NG@20oW1t>PPl=}04XWAD9mXMl=1U5gM~ z*45NY;QjC0lZnoTXEll0p|^DSFCEovc1Et(9;gFe$^)WtYyv2!-njYt!d0eXi>?VF z<5?hc3A5?EeN$vG-|)E_Q#GKbQ2Flm3^Oo9-C^O-=J8kfcOb(6(BP4Tq6@8C78~&M$hw&Vjy04!@&6~`bNBv zZN!axan0WX&(BrNgchf-v3x7sko&tD0b*7VdNwcrpQU+zy_t5=HNavhBakW1Y})$V6=>J>p{E94Q-O#F(Rv6}quw`spj%>TCv>|xU15SL8<%>NZ4^Ps4>GwD+|sJGaL z{!$3v)S|+GpHcvw!}nEYTi{}}HYh*Damji?!z9o@Be(=4LxHM^&}14)>-#GJ9thOhAp0k=^mNyt~F19PQOkc4)`3y)Iv z6M>Pv-BY_jxBk8@#$CJnOceOWDn|pf2Ua4Yh66y#5?!m9S>b4qO9pt`^3zauZf?5- zA3y(J?J75KhW~H8PjAT$NG`KLoV)#8bKo`bM~v86fEOqN6$X=!UK{#(DyW_Bph){O7Gqq(kYw;Zyts!8E{H;m*!Ujot^VZ0E0V z766Cjw+JJZ$fdgcedjKVob8|ek^f~d%nE`74s_0FjuP$C)4rQyQVN`!UOi%<~P z9JICH0WXWt%+bkf7irSBN1LgY(F)nn?68ILLWj}&B6M$aVN^Gm`t(zu_J!~!2Iw$= znj-7H`!i^@QFMQ6*#f~742MQoPt@$G&(J}r5CRyra-6{0BjUEjXcmHbpvU)34gYRs zZ@2>H_=4SFz9wXIyF5y}YHT0CP5UHfAz*(hT+aMZjEzNsK8?a$!|Fi^B^zj($BY-l znL|aM={qoPL*q0&;83Lrb@4f5MVa*!OE20#@_rwax^ik?h=BmSLVyjG5n_$M0X1j= z5~79LMKx$JbybmSlc?0*>?L5Jg)&xFR)D@}>*>Y1o0^+rDA#|al4;++&nPM?8WA7= zT&-pfX)=cty9_E!MMFKnWv@!O6|^Uc>+vak13JXN_;6NMR`|w-ql$(``6+c# zwg2_`&cmciq zMSy0}<^9AAZDehC#S0VB-KhZLP!T{4cV8#v(@J~SNPxzkGJGgN{30a{qv^n3-muWm4qGkxtX9aez+H@{sN3^xz;X#Yp{$Pv4tk;G}z z_>R~0BqzV3;*n17qw7s{PVWHBzE3M?ZCY+q+Qwbo-2dg_a?LxX>~bPWaKxDa=@h+~ zxf3hxbNrGVJy~(gRRdZv+(E`JA1wninbl;i*WDp+RVwIIXSbcT0tiV>o5QbfQ!V*J zZcsARQ|0pffL#KCT(N%{J zcSscwTT85w$i9_4$f5oyoUGLiIwsMhU|)CCntWI4>33$J z4en|=<4u!&e5f5M1#f>ssY`<&a2rMh^bQ-J0-4ZZ#2<|m?%fHa=K^+u@+y@CwPV0- zf}wC?b@=!OpL`R0C`wcyYQoiXYiVG6p!1ZpaVkLRLmks5$bS!&Ae@tgj_NOD|Glzm@HZyT z#{KXJZMFq>Q4VDX{d9_iC3-xGngV4;0DIcd0qhmdBnLgvO3h+oDoE-zu+#tHwHb7nVrgtcsTcRa6IQvas}h zu_L?g`OXJTI%3J_t^!qlY*)+S`?z*PuHKo+=%TeGff26O$rex#2415~yZ`n$LFY{D zt`RO1?qYoO&Qcx^>?MnnyT^x?wt$Ru)Uqs`Wc%-DkYkr&MH% zQQm}~p|B&ivrVELk9W3r%Q!lNn&Qp2It~r^_1h`{`&rW8APLgca(r=g*P_%uVGv8I zsE;H)5D9a>Z2&m^9}7_PAm=9}NVC}-!-0bRM%2N zjt4d1Td|rTz+b7cU}YI=XL1)ZWteey+jBw2V?^%9t3Smm!_@3dfYS8;+dA7DT;9db z!NDKa-hTH_rImz)gay!gM<*xS)2#W23;zCteE%cUrhfh`*V@*``X9x#tZ(1sTAG`~ zb8|WWwc+=_7XxSK=KfK9>!I)bBl3XL`+w~P2D|j{v<&}anCkxp?r7wJT5SKRegD@A zHOcw&tjx^v|0Oq^s@tJ51tDHW9QV>9A}CurJIhW}3A?oPVck Z8E&hq_xtp@GQhx(ilVwgzT6Z4{{@q;J4gTk literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/CircleThumb.png b/blazor/diagram/images/CircleThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..d795e354c03c785f90a51d3c1e989cfe9de218ee GIT binary patch literal 5551 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/DiamondThumb.png b/blazor/diagram/images/DiamondThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..b06ed6989f3e3532c7759074bd505d80e62329c7 GIT binary patch literal 4070 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 Nx{-w;R{xLqe*o1Y!(#vd literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/EllipseThumb.png b/blazor/diagram/images/EllipseThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..075d6e3761120addd66ceedfa2c1a91ac75a56fa GIT binary patch literal 5723 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 BMF{`^ literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/FixedUserHandleIsSticky.png b/blazor/diagram/images/FixedUserHandleIsSticky.png new file mode 100644 index 0000000000000000000000000000000000000000..24f3656c786a68a79fa302da79f2b444d0777e0a GIT binary patch literal 4736 zcmeHLcT|(hwhsqU!~;lCq)QE`AQFl>G%3=XfFK=#07?lEIwmSoL^;w+s3IL9^b$fx zq=qgv0f7JlhEC}4!d>s4yViN@p7qXq|K2}l&6@qq?BAX}d%nGY6RxkTMoYs+0{{SM zHPlrM000VUaucAwNS3^o&G|&`C}0L^N&r+J$1-_v!BJ615dbKQymI`MiafsTu5Jng z0O;Dz8$|~+-yQ&9yr!X|Xyj)_#M8S!UO;wiE`>e_q6wnD!Vh5)66K{)(lBOFnd+wQ zWDbRxcHik%(z5hOQo`D@7RO6^X^Bvd=ERp_UyVErdDvOX+p|%VY}3ARm$fCQ>}HT6 z?n(eU2%Ek~Xy6GC#-+kgOIw5^k3Iqpw&uURG<*7@AH3HH&7LfKd4^b?sK~Q`?|z#b zL&KH`#|PU(C`%bkdq%=&x}sct7T2j$p<3t(4WRI<8^DMc2gp~crO*#|r~Jq`d+~ul zEA1=IV0J(}wKU)s!(UC{EqhXQxG~!n6C2CtI#pej((t}x-gCA!lju4pF-GfPubVM~lpd{NOI%!CYRCHDXlv>#?uSxNeJWtMYyL(Nd`h6657EbNgk zd0k|HAB%%r?c(1t=il19sJ|iHdv7jQQSLa4YdXY~{#@|mU${xiEqP)cZ}t9z``5=_ zeEGI4Ekm`H!k1*+qx*^b+5_qaj0;(8$#YCZ(J2t>G8O%k13NMWm%o zQWcQ+lvH{6VJBw2(V1KFcX9}MoyVYP?>}_&_UfkIpGBplCm%ddcydQ@(5aH-(bgUz z**GP=yXt6vS&ix%u&~tEbxY=e0%>LBy5n;mjBcoqzw>chI4xMRS zwB&?7b!$9uSjM3%TqepNcK7r^=Dvil1x}^INv1~;J(yJ#CcCguGqtG#@9Do7Vr0OI zYajC(7*{BLd%_kMI+IsGV(N#k_#eE4tLmo9KI5L%WB><}Ty~@R)Np&A5J$%;>@-q_ zFIljtb}`u*m-36l*R=9-an|3w@*_CF23GzH*L+_Z5|Mh+N$d=LGZSuT+2QvG>%O9$ zpD}hmS6U@})Xk-FW>wGISKHovoC3vQZ%@+<1=m66@D+}czp_bmHkg}PSo~ar7RteX zhH)c)OoMes1AybyH9Jw%(%X~YcL!f6);Mk$Uj>M;&5m9eo`3!`%LFjQ^2e{j9Aptl ztXeYxS((qh+0=o%pUy`rpycS9O~TxrL#-MDG!zwI2XeYiRlBa0+jY=Qpka>0`B1G$ zE;;*&a!7RuAwO_F6K(hcO{GrJT8z9dYVm{gRl6CPQ$XLBLXXu;mgwTbx884RG8Lce z5ZE4Zj`7|BccCoiL>=%hpd-e9${>~6oXn3iXl@#I z+^UiAVm(*S46SA!^!J3$C+N&{?AgC!u}~vYX=hKMZh>51rB|s ztWRCTES_0SKsw@c+Amn}j;BsPAsh>bb`@8k3huv`DOGfp~FoURj7cYrs!HG^A7Cr6N4ju??6=jvLy z+Wu)+q&I{6M!37y>(G{j0mfhYcIwU2@a9WKJC*gjbD9%d1x)TBZSq2?c?6m`tk5|W zFW}iN-y_zMWQU(-|IRdfz4U94h@xw=K!91_nDNr7MTOOBrHl3Q1&iLxwf?%LX?Nox zv_T>*a@D%#uS|l?UnSF2Unr(9fmLB~mm7B83L=p{3*xGqAHRJI@)MtT2NddN;O&+O3jA_)WQi-$~qY&GP~X1KOvdr zR*Dpp5iw6cN^^mx0YQ0$m&>Bhy>H9p^W&AJXvMg`k4?4#$w{Nok_9Rga10_U`RIjvbD1zj^etPvLPZEx>?oID z_FsHAMcq}pr*Fke`?|#{G@Sv%JM2i6l5^A7=l8?rq(NQfcmmeb0sJ_gCt28n;n!2*?dEj%w5k_BC zqOfpF==p7m=cAXcQM#^!jU@r4ddl+_yXF#as|4VLtS8tt%y#3B7JH*Dj>PVSM}0OG zC5=8;E?(4-w0;e^>Q>-&q`ZZnDoJ$ex@&*zix7HmEtCL>)QdykP0+x}3w-+oEL1uC zkoYns!LBCwE`!sq((g9P&E$LEogp@`e2+7hs307Z<&#o&g3KxJMvbl9)3|<;2%B`& zv%KwtihUUCa#Q5VlFO8UbGkJU5{Ny;mmioIx&{ijx}GHP6-X{TR9&VED;f=S z?2Ucghjd+gySdhgQ$q+-@uf8%j|JweH*DLtAsfa0N0no&VNraywpm;gveLr3dRw3R zn70}Un~6Q%no8&@e~A>DUuqJ%G_}}8Nfpw!+1D>IHsOn9FqNE{*dx$I(}nvYm(*MC zE_K#`YI<;i&}isM{*zB|VAoGme;$ouP1WB0w5;@`EAfH zb3p(`9Z^^9Fmt#CA~mmfZ8Vz3e1lcqnXEODI(tz`_>EY-?v;h74~``JnD!`A!y=%2 z242wN^=xU5d!p($HaM(_NmN%1EkDTvgVsGf6ik@P?ST?e!HF-8`2{@kO!gvaOB&h* z+#GPuUj$wXety1M|9)oJbSwATgxrID>KdcN$ei+1eGAVHd65(oSsqZwhlH+*D+_y{ z(-XQ#!jkVG{S2_e13Oa*9=*c_z4)B0G_Hwd&xykzxF+8yw`YJ^+BV@*$b9Ow*$0AN zpc$fxz_`Bc*QAd4xzn5-_~AaVN78DXXJPOT+Iz?oDfg*lhkY-}H4i5aS@w9rq>yrmOEj=A}3u7O0XLp0dc=IuJP28>c z1Nt)+gt>tL@lr(WL`cZicqLS0y$Hlu)t^5rTVhk-qTt;S;ctsB@<)95wZAax@pcoA z(m9`?riUgjeLyIUa*PW-1YLZ`AyN~#Ds#C0-oAn96ASqD9^t*G{>9E->*55-D}oy9 zdQv@eVcdy~z-9y~1-oT63P9G|pqa62A{}%X5Aouis7y5K%di2t))ypy zUetF|(I?X0c(LhP?v#G}9*$h}r;w9Ul5!@4VwJCQ6NTK$0`(>(ErfX;`_qf%Jqd5UR!4QpD=LT%>)M(iicp1-Hkp4A5qGl{ z!zBEgy*~X}ewgpm(KqZg{~wloPD>x!mOa^>Z3`0s0)bJ3;`5ueGFuK;DUVo1isjw} z_^HVq4;n@Ocli;AvczZ_8z+6&aUL{y(^X`6lvbKdTeYD3UMSU>p?P Spd-H;0W==!s-To?g8mCr6794A literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/FixedUserHandleTooltip.gif b/blazor/diagram/images/FixedUserHandleTooltip.gif new file mode 100644 index 0000000000000000000000000000000000000000..1aa17caae6fd21b0c5e1fb2a4f1b3db87d6c9611 GIT binary patch literal 81006 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/FletchThumb.png b/blazor/diagram/images/FletchThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..148a5b6dc7c0d5a51c313ae36735884148bf5a6a GIT binary patch literal 5315 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/IndentedThumb.png b/blazor/diagram/images/IndentedThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..9ffb0a404f6d2879825e94dd032a862755ec557e GIT binary patch literal 5274 zcmeI0SyYqRmdAs%j3UKVi$Vm7ibx@Xg&-6|KoJRu41!F7fXXOSlrV-NSk5I0ASE*a zL4|mNiK03^TcOF)&g=2GiYOqf|wIcR}h-BVE0s(mOKpyG*S=lq!|;ZIw>veD4ib zvX+ss$vJ$dA@H*Nt%dj{BJp{d`KgB#`z2nArF%WIkI1fcedM{GBHUf%6hQ+VQnP{dGNGHCq@>AW^%l4nAn5sYgIy@TMQ|4>ddJNiSXOTPxIt zm_3}qOqR0!>{GXe)5>o1-i^&Tu_YaMQ~g2D^7wxi6~ zq+Go)cNca$Zfoi_Dhl0>qltrrSRjaBk&ats;LG0dP zY#}AWzG=yuOvvL$SX;xps}5a8Urev`!9;TezQxJ54kq4RqC+eaB3F8}*$th0`BybK?^67W+d-(t1(c=vC8CX_Ae?rM8g% zJOj)IfxT)-7v1{99Ys{4&+#5oH?_?7MymOqIU}sUH&-;w$rrreEMdZ5T)VtPny)KL z_;Oz`&bG|OVzEUjYa^z-enZ2Aub&zr}H#nmoYrd4n z>`1EeAw&_Uu;weB8lqo1?<&&nDS=_M2n{e4+y6>hV|;TTeE`V4fFUzCgUR%e-L?vl zv)=sFm>e+Psq$-h@}^$GGhi7na&n?y(qfCn`Zy9}0^%#@`d(F2DN_8i$ zbt;&$i;#^oIX;zWaTlFPJ(Te226Zl^bQ`GH)vfTJ3QCzFo|%|9TXuIPDVL6o`6;n|nTCEbiIi8w@ zNS;!qzVmO(Gm8yNT`ku*3GEFjx^6rF^S3`zV=Rp+aiLM&vMJ_|bJUCxkOrw5;j-w{ z01B64N}SDuZLR@Tf;|Q&8Sz-u@TL9^P7Qu#(9L-!Ktt$-HRDuAv@N#QHhH`NHl$E< zdvutbv%Nk^iH+&RGxzw$jRcJZ7e?ONZzfxa@v7jkcthLK!nJctC9QGXmP)EaF!_(< zP_OqPYS3oa#V)lIfp&W#tMqhL6MZ%=DJr->FU!rzv_il$q*;70GgSHI(kT?5^Jwlv z6#?6iqE2YGcA^{%zp|)l^GnYjk+f06!I6u%9vl9vGw8Zw@_;f zBjb;fx;5__K`Y&DLI#Qit)+X_%#5}-`F&69vkSuUi?0tW#pql2nvXt4N6&V{!Z4E$ zb-8sR16vG9ZrSGHyuwNbudvIml?3_ZvT!Z?U47$5WRd zs92>Y^V*>rDa|TwX)Rh$+RHhWa!IK_s2>7}ggnB$bK71o_6BTXS}pdG@a&ez0!J-B;UxPx7y=R})U zdAyyI*hY^=cJ2GP%uillL!}PO%)e)(hqjo zt<2+et!?$NFVfL+^Ie89qTeN@MLzrqo%pe(FU*@1@rG4aSj9kgcJ2sq)Ajnm50*W@ zz3Fj49KLDdcO5<9j5%jZu21=ibabdbrKOKR5?+XXTW*=M*?jip!szV*sGWDDt`)Kw zCRxmnj&&2Frr0nZn9-{4MTT0E97s}p1Cx8xN$RB)B6j>!t4blpSZ zr?bn$1Pi#Hs(9x$W@}Da;j?I!ulPNP*45o~FvVjMZ?54zBK*)`D_8s= z)4K5a=q_N~!SHS4fG}k<<-c$o*>z9{*wSxU9!)>#I_rCD|7iMC_|Et@rb7)Gb~}}{ zgKK(lgz;|!XTLEW2>PGF4O-;?r{I4F`j3c)S0-DY$JsW%eztoe0e; z!&%nspMW&ZFa9;A|5s`|R-=sS1-|{S^hRWW6>d9y;t%`NicFD>5hINZrBXN$=lPol z%4}v5m#R}$^bk-qeF75|KL6KuWoI9Je^SycZsFshl+|~{-3JLA0D^2)(qUf(B9KXf<&s28gn z2|$6G6~bk9@HqH-7Vr#=6Oo1GgMJ;T7MyIeJlORks3y$=OyB49tEP5Ia%RF$#upy0LcnNdu10ourulqht2*gA zb(1RHjuDRCVbETpT;U8?$IokXAGF6J3GlrDe^^rG=1VWYQ(c(8XWmVXLmoasv-GmW z&$pFN1oi&Gn(Dlx5WcOjvmYPRL;)^%RsDe{P?awzXbfc_K#QPsPpO>kPOL)xR^Q}JekJb#4 zW&x%Z>DITO@btZYb`4-ZYqq)I%kEL2pHyL{)@nwfE{4@pZ!>5>eU+S1gfz!W(e;7; z`RH>K7HL$&aJ{hxl&b8-)3xNZHSqsKFPtEKyd!H|7z42?^rd0kIQgr0QGR|d2#B2S zAV;CL7AdGfoX`~v_{UGTgUwg&7l$WKrUhP_Jm5d3;Di;qtSF*C$jph2l(%FKfPqz-;A zT}xJ{fqBfQ^;q^1$6iO1i9xf*R6U@Inu4jl6}f%|1_50F&J6v|)!|%dJl?$NeCBki zl0C)GJ|oJ0QLl+GMC%}F`>Z-+$8-fNv$kpe)$GyxwiWRF%w6-o2k3yKop$iwblq#U z^)+3?%8~{d{$W=X2=L7MzIjzR)KO)4%mvHX*IA~bdF7dR-hC(5I$IXn;I%6B_@)!p z!btx<&9<0ntoB26lJ)tvqnf)J`4tYitg^f6y-%xf1p!#oBZTp22Y}}JKs)dBOl^~K z`q63xSrA-FUFqBmI!$=gU&14NCV30&>)wQjrpxR?I^`Uk*tcY3;IYw32 z@M-Ev3(xaS5PoD4zuu(EEq?TB)uHRJmF8wcGjdC!wkJy#p-b6{irg$5<^rprIymL7 zqJ7+$S>l!e;OxfZc_r6R&cW^y+bk1GJ_0QqQ!$S4Vht1*!sAA?0Q-o51f0PKCDy-E zX`eA3xjZ`x?{#%tj)Gi!Q^09Xti2hdQwP3n+_+-)-h`O|225szS|obNXzsyra-OtC zaszQq@JccD7r;lvAms@0T;?3$QI9wk<>}VF_$fuWMg>gf5Q??w4i`lOGGJozgS(g& zGx;+lPGF7Qd_T!Ga35bF@Au42L{=dB(LIib;gbxRbzAPezN}7JsfK$4g~c zi4w@`9o(4#b8ZCo1TfuLAPbie^0Vg%6LCJNYfU9HPqLkQC8Q70%}A+`m2NOKPrQ;# ziMT_7O>hjp+&YBfJThh9!!9%ke&;a;7c+*DR0PK~dL6b`L+c3~lesIrR!)SkCl^So zC;aFMk9Aj1-T1uFM6(q1hgfD8$1{ns3_14*e5OZRe1^qJH{%^2e{dPiHlOUFp+!6o zyKKKsv00K@`~@egD_(omh%6;vk_B;1gsMYVD}YA2zk!;J`q_rB&CBngHOF1E}fpw zS7p9jLN=WxSQ%aUm^Fqb1n-M^kb7ib)i7^$9JMxCw%qlnZdfjGXx+$u`Wx&`bdU@B z>rIWoDWHt^uhid z;%QY$DSm$CTztLaU^IQewjBQGr0b>PrwkW-apTYgrVFDwJU;E_xQzo&X~eI8%74In z)-&?wp)IzsHyxvqzT2vC0Pa}&UtrL6i(kQlrAU7J^TPsv>7kX+i!f){?O|mt0wgEB ztsWO?;^1W7kaJnmNAdlPj84OV`{`PJAb%8p$TMULV=_P>^K190oOlx3wP}E4^|LC> zz_#fd&bjQ1g?DP4Q;8c`)Dh}4_C9m1lJSs;eI&`lRj=tMWprMehwiZkybdR+qJRt-a@*4O rM>`HSmje3tZPNegty)XY7W#l;*V*9L#=zAf2xNcO$)?Ww(r^C+&}qv| literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OpenArrowThumb.png b/blazor/diagram/images/OpenArrowThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1649af94f50c7addb3b1fb7b2b74046ffd2ad7 GIT binary patch literal 5428 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OpenFetchThumb.png b/blazor/diagram/images/OpenFetchThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..60f8ea0ee181462f46dd66ed20edd2b815732f75 GIT binary patch literal 5098 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OrthogonalThumbSettings.png b/blazor/diagram/images/OrthogonalThumbSettings.png new file mode 100644 index 0000000000000000000000000000000000000000..cab64c85c310634bcf819f3c2529cb5b02c9788c GIT binary patch literal 5810 zcmb_gcUV)&+7GU6MPM!Twks;A6j2ld0t!l0dXWy1W{jv1Is}M43X-@e9fB-X>4Fft zB1J`t0SrYF0jZ%y5)xAH39jF|-|l_Zd!PHqdCobL$;_OY_x+XkuBACdWRuJ$5C|l4 z`qT+)5J)Hyxa>Br2U>Cn-EzQ9D8L$G2rBNBn+9Ii!j79A2Z744!W{Q?!26GWryK)7 zAkmkCOQ_8^-wOnifSf*Y+&0v0Zdl}=Yf!rOB6*HtdH+2x5?JlVGy(NegZ*7u@eYerjoOj%tIw*qbFo&)-d4?$goL-LN^4 z2u0O1&w~#ih12P~bc1K_WMOpnwqoR+FN7ft*Zd!MB_NFjs;73W&({1V?FXeygkcWAtOS^eF+?Z0twSQ@b~ zfn%~>)+Yw)#tPLr-)#S7=ek$k{9buw)dftDg)xUpC$-loBcsbIOkaT(){pq#>8BYs zLyKoIcgK9FO=e1?$Z{V9_bsWNaUQGEN_eWJ+>xVM8$1_XJ6}^!w?XR+UTzJ6^y(ye z4kO#SAoAd4>qBAIX-~Lg%7cl)8({qQy+oG)Gr36GJ4Cx$)x)e~S->LB4cr)}iuL$V zt9mYupNfQ=r=&LA4w+Hh+sGbX7=37Ces{b*G126j@sEk_>T}mV@I#yJJ7tbIu(GSC zeP-)9j(p33a+t-X4|q-erR1*ddTO0|j1T@2-6|so-s-VjEZ#C57TimWbE*&O+wE(p z9F|wHO;B~T4x}R&Uu+mFEbrV4TXQ3Go45SSoF2FE0z^2(K_}yYRJ-CVhR;Buw)W`q z>My_thlk}oTQ~2>6y3pK#gTc-Ra6qALE9Ls;0k1rFFT6)Qn6JdiW-Bb5llRJoRyQ0 zXd$iAu;#bP2giO;WFAAH_<3iF-m{bPoM!n;x!!b~6Fq?*yTE7CBQto=gGqEok;b#< zMU2P?FH}v?o0UzIEH8}_a!lIaO;ij~Oy=pkikRVNhn{-3Uqcy5OYpk*DAYZEjMyP@ zb=jy2_1r)MTZ~rj!Y!Xilr+)hdY0Cbp7y2wpPZ|%#G0sA@03t=Sj6~&=PG(eX+0KL zCG63sa_*?q!>cbyWH(2D6Z}0esW$PG4T?)L2tKtnv}e} zJOD1YKTmQem5p1C8fCVHxE;VNrAbCII+73^3e{e@VcujHk--~rE+;Ar@RrXDI#F#8uWnROr4v)WL41kG|Bi1gw-ru1RGve={n*Pv& z|8p`AoAYi--IcvV|0!M<$7$O_&8*_7*kefn8U=Pm(R~H>ZFONw9-V1mYPXS?IGKS% z&hLTAI}{iQhATmFDJ@*tEBMSm&0vU1G8tJUDnklCbTi#EwX`G6SWe+)DO!)2`ywVg z(_6ODdTlIXFAr6=yc9E#bFRF!2PPD|RULgbXEOFqEk8?nen89bc{Uh+g(X9JjCz%= z{S$}BXjEJ*m0C1+a~BnYi|tGgsCIX?_`uZAYjH2(=9E>acAO5FdnV_?zrWHM(qMyG zBN*`xT=8z`r+rGJIrhltr9IHPtlEta0#`=m>%SxnA!+-8gXiC>EUeCdze3xeLdL3? z_hz6B)pU#@2r&O9kb?)1s?TeWVlCR0J%qOu?>gYh^`^7h~drj{9^G8#X&iurput*68R z;VymlrL+)ISj(i%JJL;IOUF&|>x3nmPb;Tyw=m!aQXTCpv`5xx&Bfch-KA5AZLgIx z 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OrthogonalThumbSettings1.png b/blazor/diagram/images/OrthogonalThumbSettings1.png new file mode 100644 index 0000000000000000000000000000000000000000..4a342e512b12dffa05de99c19aa8fec978d189ae GIT binary patch literal 7600 zcmcgxc|4SB-ydzVc2JQl71^?M%5G4|zGRm*QHTaJcA*lY7_wy>$x`+#VJstu?913= zEXj=B$U3$e?>(H(ThDXO^EsdQeLm-pxqRjx*FAGz*Z24PE?4MHZ529dR%#FkM5m^z zqz3{~bO0~wo{Nm36=!h2#IOo*z%@i!V@(97;4!C(@6)F} z`uJ#N%d;~OC0a}%5SPL~Fo?veN!Xjf@iSfm_0#xMqxi9%Vv>3%1#XL{W`?}?sb zH!KO*+O-iLJ~0Cn!Z%dux1f8#(`)i@efaPJqAYbJGk9)hCh{g9_k_!5PJW?nYn86W zce*S-5PdaS0#w#bfeDuY%Ua9pKiFq zsnb{Cz~1X!NeiOA@svk>YB&Tc%%(!md<%9XmaXE0x`*&m%}i;;EZ9Oh{^+B$V6>9j z3@diY18aVHj97?BzM^ZZ^g+HPM0@^K=T1khFXUFu3F>q^CGRhfDMyBML9}26CSsOj zc-K-(3zxAG@^-u30C$&AF2Opyw;(rHqf>6j35k8Ffn6*g-%z2T@K?<)=<+ztCTR{o^YW~9~1 z$goYCTfV_kuKZz6Eu9lJE)xpKCDhKy;%cW%m&IWguctg=Ss{_4^JOheG$-2Se5{CP z*dkWCq-A98;#y;&?Y}lP7g$tbgU>=-#=p7rsPS%TfLQE-S!KBOF}R@}$9zFpkLNfl z)v(1a2{({$cDFyr@QNqiTxzA63s;7LMCTTwOgVgJ&J!3GpHeYpRBlJg=7DJWP^@{X z5AQ}c6T3pq$43_F`DfuawW(2)u-a%fE{{#FpzillUf*8#_4RFX;fkEc<;t@p?zOW7 zWQbb&Z{78tO0dI<1Z+Luky+F5uxo#Hp4sYQQG2qKKDf|Ri`015Ic9x+ux)p1b#(C# zZG(-N$$e2VF{DPoH|cUJb-LKX>8JOiync-p7UdPxYI$W*-pb1u@J)p}-SM{18F8mq z@_HOgH3S4Lr<}R+3zi9ZOygLM?%T`FNG1+EfpbZI5*3V;=k|5tTLQq(PIs{G3bZPw|<{78b+|509Lsd{iHZR_bniaZ<`Jhj*_8xtZd%hT6WmW;cU#D6CWSS!z926{i%=P5{?6c-gDV+ZAU6x zAxoy95X!Vr|L(=ey@8n)LxP9Kj$8oxTD-+WtIpB#&kqt}l}|``Z%%~V9j$a1zDBWM z79Oio2)4a5I-Mr{ivt|1-5>NUjF!>~K`Ho?8BI?9q}5b{3W$~)=sbS!33--lEJaXY zEBnXBgxA;CAtJd@mN0mKPe?AVR>BCWKRKJ=zt(Wn&$oZhvbeGr4yo^h+lnN03rQe` zu9_S=yllen1G&m_e`YzUa?$t%X7+>+gbC=aR$Vnp7bX<+YwxSV8F~ZD+b;5n#c&ui zf9EDK1J2y=LW8!s4gi)ZHBDXNG=u_g)Ux&xE6yRhxcFN`X*-Km;zxtEkpjK@Gf4;z zL@yfs1%5IFfdSfG>mV$mSCFyE*$*rmpNC*AoXi&{C~JQo(YwX(tbOdSy0f~!50E> z-s0k-o|TnIw|yTcfBtK*5kT`Z$d23ZboKSQgoK28K7XG10TLonsuk$=dnGShY%|Kr z1`clVZ;Hqwvkxs%Gc|S3!QTFxN*JJyfF;4rBje}Om=eFV*y>$~dUmkHUzaO(bhuAH z-}+rk0W-gWbxh67GPAQ=e%K$U-Xoxo&(Qzm(Cp~w*fy(VXc+6}=~-0=lyJBlVp>gj zngjJRozr6<|C$L`Zs1WnkOc7uiSl}2AB5G-`)gYje_uWU&&wj?kq2HwD_-&2b_>Xm z{6mAtI?O3tP0`l4k`SZH{q4*=-WSd5Sx|7 z^TXu-B(JXB*sSLyookB|T6L!QbY7I=$XJ$E686Q_&d7YT@@=kbuE(`NkIR4#o*?EJ zm!Zc`Zp=j8*OE_p9$g!*4X8DD?>7Vr;2fEEp4MAS(5(R~_S{W?5f%%kyHZ66qn@dG zCPfOuNGxM{S+*VZq3uBQk;@sxMdyI%CJtZCI1wx161%Rr$p{&3g|tXP%W4yG$Ozvw z!na^yw91%A^VOH}!+acRRJWT=OYNg}KD&1&OF@b2gBrfRRU>Y_TE#X^^jl*D6faqv zAv-&@rRLtHkBFiQ{0!p+Z++c}@dLUz?n_-DM2cu) zRD1sLjEDl$$4K{~yYVd+o}(8X2Mc1EExqde40bjr;TmRUNjqK}G5Xq34=`mdQ7Rn# zh1Dxz0V1yfA@b-W%hh`?9}* z>(3pfqFd7lN(~@+dvD?5iO7TX7584T_1>O+dw1b;Q85&!9&nP69$3Y15pvu1NI>)8 z;%j#^7ck{roJXlu><_&=zB<(rE$h3{%%H+H0S5(fiBcHQ5}%zWe-ogj|D*w~wQ~V< z!x*kijOw9owK)~T8iv5o2D6HZiS_jKe5IHA7b3Zu)S=E3z4fJ3pDf*T($nix#`Sb2 z4C%iE&9B!H0>Kl?6Vdx(dCLcn^OA<%6l`#&8*hN>K*c&%Dn0?l&oc0@2hOq)Qoa!+|&UfD}pJ~Y;D6q=3e zHO66sRdTWNhX(ti?pZ>bwZGKG0UBD29GgJBM_>jr5Yl z9v*pjT@FMqufVkVOOp75m-;%ghDQ0OIQU7PSoIc%w<$btlc8bY&p1=cp_XEJ$Ye=?<6nUm||?CDDLV%t!8(^q&r#Iwe_{usH+XwZ8*du1)` zIykKSv@g_&!fN(i8)-1e5RY;KrUOWoY=~f&!Ctc33aj41SFPYg0&X>ipPlaF*EBYc zufo%Gxz7)@oCqM=ZEZ8dAd5veD~){c@!+kkUJ~e0{S&m(r{3GX3q?(~q}{D6uqjRC zO6w&Yjn(Fpc7!a(>Wzz^_0Zd@N+W1$0&o0os-n2%>6x!gvJPW)6MP>hllTIg;pZQ=B_~tLnSJ51Z3Bi1~Z;hv1INU)5voBFWWz}T4CEjuS?y9%S8+PE$28xldVptm4BrsRkmt@3Om z5qCy6U7Of>?NZ$1%w6h^uC(a*_Yeg~LsgmrR-#jz?c{fcPT+H|=ZyDmX6yLPrTT{i zRQq+`U~U1#{b-kdJ+E*iSJy7Gx)>TGua~UWR*Bp0&BZ<$qZKyE1Q%}Jf4_I2Nz-m| zTWX4L0TKuU=+=?Mp(cwphi&UgAF`~kqCG3Vpg7IxGgRT4zLO%#vR*c32WV+1X=}PI z!4AQ1)A+)*wlElnZHdmz%9;w?LG6)tgxS`6BsO$wAatzRUV72qXBzF zWSel6pv0YqXCpJ+=`f8r!Im1JDI+T@E6riBl3KSy1t0&fp}du~`Ad3!*cK$Zyb3y- zS9^_ttdqqT<~CHQn^to!S9cx|F_z@4xgJQQ? zy&;remCV(fzmi6At|9EyC0l?J@R2ch z)`GHvGx3rcP5vmZsg#g0e2DXUx$_*N<`Wvt zCik$y+;6=f;yc?RF)o-&T6>F|f`O$-R}slYIhcIesdUH8%Dgd^C7LhaR@~s+Dd3tsNBW}>h-qZ2a5)J_r6M&ra?0-ll$T_k+bd^0A9*4FC5p&bpAC_dN=iz~OiQcdw2M8eAPEr&~F*kSVr+;`Zfby=((*-k#ags=oeyn zE;)>>TL0E`s)*Ij@E~?)d=FLi;Ck1hKxXi?chB&!fR>gPN!1ldtMcu?YRy!+Q47M+te!od5W2HddIewdA0jR^>x=y*uGVf9M!4?VB zG997lnSTroD3Bp7v>s0>zxjA!_(R*#sT#uAeA$iJTaQ7v-=7!#m5&Y9{wtnqI8!6O zQWiUqcWbhX;!#~7y5V*4oln%BF9SJ=Gb(u6>!8c8eo16;TVv_CRdUa@#{(2d4`4%u z@VbV$ff*G8(egay0fChN--D$sN4G)_h+{oR{O_lHDOBcxnc#Kiznqq45A6^vj0?X9`K)8Ak z8j+)D`zO57YN1LO4&uwOrb)bf)P58TOs!u9JA8KyE^8wZ(}v`H^81eeH`d|Dg}nT< zhO|9j>`(OBJN*dCCHnaM{XG&9kc8ahq>XYS0|=*Ve@GFX%%)<% z$!kc4#E-uKg}>C?!ka26g4%rZf=x=VQ+i%7fd1f4Z}RiCP^&3R&D|=TLQK5cF+nuU z>WYeiG}@rUfbBSz4FJ&!@o+`$7807t7O=Z~#eL4edt=BBXI#4-I|6MJf`0i(kpT8C zt`&Xs_zNIufz6Avy}}=*+HhcRm%Yq^sQ4hv1t=OZ-LgJtB|_>&kCNWc!h8GsFH)Z1 zhyhwfKn8eY5kod5SM~$I%UdJ_s@7&_V-a8MxnxHNrVXVAGwkM`=zse=f2ag_6yd=eS?Flk<$?=qY3K z^SxPGfXILkdi!6`?w+3X!Ml5SR7wpw4b)s~L;7(8L6X0y`29Ye)-w-%VG5I^+A>b^i0Y zi7%2vI*khP^BGIkp3)DIfNuKbwUMlsKAqxPAkYiI%l|V&wShovZ>XE}qOiNW`$5aO z@9Z4Ez3mhFz41}2)7{vQf(}kw00Rl^E^{Kl5zWrRABSc=t=bv_?dft#TnF!XPw0%VVCxiKy&h!8L0X9=FJDGg;=b4?G3p+Rh z0_x-$|_mBC^=kYxE-1l`q*L{7L%TsMlDAVCnhe03^ zld8%MT@Z+>5%>fgqyzrao054C_@Z*vg)KcMbs8hn!T5 zT|pq``rQvzqhp3O2*mBDdgGd&hsE3wL&7a`;_A}KNf9x|7}akvjdYGiIfpC4-}dxF zL+_Xk=9(X3@JjS6mo)R(t>kIw4jd)fAv@}LNh(FhL9oh;>8QJnV-dq z_P3=EA@z3%3x4`RmMDa!*M*kBGc_yPKbOn+O{aK3Tm|Da`peBUi~4f9a5$OIYKw2f zqE*hFJ91Fv5_{JlEVgWx8iCv_y$|0k$^`;wsfXN~=Y*(@lUqE${{40S&2awuv7Rpo z!MXVOQ_X~BwBAXJl?z2e>JJBca9=RsfoE|Qjk1GQlk@GVZWh?V{t~;GL=662YO3M` zdwW>KYQ~99n&R=&DJ-}Pn|x!AIGP0=R;xj zz{1?pDuI`>*`au6a(*o>tgdBfNuA~MOq^-6bq5yj68-gFT6OjCMS~zV$g3MX+<^)T zLA7u4Ud39XPKd!HJwG(I45dQtDwE1>*fL5qejhj1@u&9tdWQdLYsD>E6L5c;vAvD6 zEl-3@>@k%#TNBeKXcAlXnLvvN>Ix&Zxuraj!eN^iz~c+WctR_#Dc>T`RnAbNR3kT- zwHH+~;$BhRQROCjF@I$Fv@g@gz#ykt8b7HK_v;1j0ZpB_o~9m4TvL_|+_H<1^&XiC z>q0xF9C@x~?iW`{UQ|T4Ar3dto5b5JlkjNjQH5(#l!Sg>pGS}9Xh&x+BA=fY5iLlz zFnY5)<7}qAkgYlF^sFK`dvfIzkMa8Ag0-Pvtcd&jAm@guTQ&pF;BEKATTrOo> z>+wd(dYivE766g<4Z-JRKdR@Pus9y%y#4ATtG8G6=F)5QJ?&blVw;?YgVh#2T-o6u z<_jUITA4T&TOkyFc)`eJr4~IEWU^Yu)-6?rmrw~FwlZ7#Waep&7Cs$`S_uLlUuBnk zWFg2h+{VonMy3YQAFpdqpSR=@oj!-@J1vCh$LN*mThhccH}rODod~)NetO57rQs8F z#%A*7nIf?_Y#^!8BN1}%G{4^0&p+drx^i1c7Z?!SDSP;E?b^=!o4o9SazHpKl9Ka& zSKV6Lv0)Y$hf!;#l$`6AA<@n9_iPYZD^hYXPqL%xVoFmX4Sdcqe&FuoUAC}g) z^5@v<%t^Q}&(BMj*M{hDb8~CTGp~4;m#1kcV1+>nV@Gb=-@o66AZcH|4>me`X5rIB z`;3F0dAOBVY}79We?yLtqrUtYJAVcOYIFo|=~CXK+-#Mga>%U2dgEDZ(5JGJByR5Wx= z9|LJ%X|j69Ig9U=(#j19ET_Y`B1Zfwl{;XiBvmP4EgvoPtVEX6=9kd?CgRwJ+{5m0 z2Yn{UPa8ham_iemlLUVACJGXN^k08 zfn*2{En}<-(m9EC_v@S`f2kd*EQ#W7t1OFr&IHB$08~Htg^#kvSBH-;M}6bfvkM0+#@du z^52bO0|t*#9a^Iwo4Q4W)n&gHF5fP!{8Tpemf^wBbmRcm!F$6b)p0t21J(}5M{his zcmjv{vV0EUxH`dJzM16LQJ@G0IVo^+_|E1n3rQ~>R6jo$3;#~%{r0?HZY>VV#X2?PThrfty>pP`RFI2v#_t<#QhUms@oP+YS^fEVm_Vada+ z?lG4pG2^|O)RD68Tn0*Wi{XQWvXEN~KB=0EV9w835o-GMBN;gM?pv9i$^<;yF^12g zi+4>gT7GG9F#Sp6wZMX~1y3i#Rz>PC$7o7tWAh#UgmboEeH08U2%k||p`66cMilCb z-J?f6h~Y8k`3L|nEm{ZF&d0cm#Kt_lGLxWUeh~mw)~6w~)KrJ)g3-Db^hA`Gjk&z1 zhh1)E!GqOx+b~-A0@QHbntO5znzd;I2V+r5rMXI!w(#spVQ94G+$ z-y#$L7@%$g?@T79`3YM5$`zu^x+j2`jpMA$VSKDlr}hwYeGio~LpfnESVvFK`LAEU zqB~^v83}+p2#xb|W+ME34-JSjGl_eUt9p)=^&sszcE%qe7edySA2cyFP0P$wHS`LL zs~C^ve1;R-qb8YpYS&X<-pZi`GN#a|W&JD9@8KFkE)Y`h9~ekWOH=w`EJ5PGL%06% z4(*Y*zX{=bijipaRXcn8n90d|KsMa_FX<>qCX+P_SphC{j`h$XT548CI@lfu*du0D zNnROTk8*Q!JG#2w30BqrMhDyj)i8Pjd@0&Z`&__CXma!3(HF|UA8Ul<18QMMN5|VA z#{M6XoPV+49E6}@zl4NDbSnXtDOx$DV{MG=Mdjureq$}TTai(`&@Z!n#rTOBE#TZ* zO+uE{BYD8Kj~x0-ngQa|(caEoT3Wi#hf$A)1cK?9qHBZcXMSLD5Hh={^^=xlc}qWs>H(gQ#g>8QTN5O1o8M-htDlTR-E&@M|W~$cvwVOSonvW zmd=;{Q&t~fOI(4z=|36)k}cep@5j?+E2F@sd4dXL9u6wKLGPXQWYUzettvFQ>6xh` zERUx9xf89n&d!$Q4qxQvT$%M8u81_?pAjX0Cebx7`>J*>aLi8>Pv@3R)H;tR+)nUD zs5}a28qEG&o=1Ejt^H#6cA*VkEv~zR$3Dy^;daYR@)cq#8n|0-!jf?%gg2mQ0PR)U z^6(L|6#D+^0jqWbm9bG?&#f7n?hs&ZgJuu2dB;=2*(@V{4wrs9L8F_S-ZSz&U4EMH zV{9bwz?EkB2%>R&et<;S=EBSf^Mut1ii%gShMVN|4Cos9H)QT$$|2fJz)EbQ%*r(V zB>N1@>!B?c zDO}(KWhv^649RW0CI0hi$7nW@0_$OY2`m)m+c!&3KBYkB1~&fr;g2K!3s?D%jIi5F zOOSQU{oVT!wCA#Z0+zsIAV+c31kIm(uB54u1jf3Qa%wy52D6H-TqkwCx~K_?uQk$R zR4Gj|;mSB~a5WJn7WX_u-O4IeBsLk~-5#Gt!v1<`7>hhMlj@fzU`yF0|LUgGGB#U=T0{|1OVLK!k?F4EB#Kc!nu}T;3E4S1#v+kF z{cyGtXk0*lpmux16Hi7d**nCQrMo<+4NUw4!~Cv7m+JwM-5<%>ag zbjLRmzKF$IoJUppr;zK{QOANxX>KG{qm)tGXk~+;@{PCqLL{~4z^E25I=cXrQh#}R<#@`J9O-PQ#iOfBOmtu`@v+>J2F&K-p}~PL&F(o)7gH?Xw|`gp{F*Y2c3)ndlkzs=6wBlwTSvN5$N(ltEk3`QEE$K%Q^DHhWtS;&Sx-P-F;iTxJ zK`GC5d@KyM$~kVj&_|kuNoaz;Pplk87U!XvykGA9mfB}XgM^}djHh95G*=rrFU!Kp z>=G<~nLo8Yvp>qd;tu@+vc+p9HIU_#Pu8SmgU zUGKOU&7z5IJ~Zef+d-%vLX9p}m+|vkpBk^iNU2*Q>yw;d5#)W6q>!C?tsQ4TGOz`w zHW(YO(`8BK4kzE%YjMhvUYo%-UWUqWd8K&_NJ^5r1V-65^&?mTaZT5%2sQhGHLv)TN9s-X}#LTo5itud`4-v)KM&)6-F)`~ifD)2w)viBlBY15KhzkzZXIB$x2=)A2mO(D1WYz4Xyx%4Pnvq4%4q6F;H12O&Do4#&EX6k?UEen1B(Hs>24*l@ zW&yH2iVY+sT5g3?xMI?QqF^CALR=|%;M}?tN?w>>X2E9_SfbrBtIu~V6m-7Z9*j-+ z1IhDhTQ9$ED@%M|l0Ak%SB%?rQmy-=`CM8;ua-M0k74`P@z)xcZiz&>a(by$livwj zTIx~keaxAg`beS6&Z>j!ZGxW%lEh2kwFlo&fQ%6EW@@_5oP`4;whlFY%j8gU|9-4+ zc%!Ptv&yyVc%(?F&89O_yo*R3K*KrqB-VJzUUb)jJi*Faqo%J`ISZo0;X0ZYIvhr3creL@+Nuz$UZ;1Ni`Qr6xT*)9CSqk4UQKtV zW3JJkc_)}SgnpCU;*-|ksV+svN)l;zzUkx;GxT7KFT7spKoD0Q+${Vq7p~^(&u5wq zJh044flALC9*%T{10K?n*Q9}HT#0LWf_1Sm!Fq1j#e9p+WcYz)dJ$9RLjZn>EsvYt8(pj?M-O}crjoL1T(@41&O@46+-HXs zWvy;#ifkz>E3*h{T@o0~SF0c2vnVT*qzTfM zSr>QkAbZOb@<0kBKrxN+;XXppjGqXxn*BbII0I_K9f?>=7;5KsZI!p|sa&fpxmjdA z!-c$x(?0{EunHz>4#a6Fccm2;>cnDN!#UMtIb)rqgrZb#?73}UX73P|Nh=f0Ma0!y zQCqa|(>q8G6c(vIUuyj+ZXBNgs*SKo5*V0*sOu_4jV0S@SOZ3MmeH9!22p8 z8+ZCnOo44{j=Y-LDKG5AM_cx~e3kEpXJwMRD2`h*TO?Ahe7of#&}Nv^Y;g2UPxHr6 zI%zzTt9iu2KU^bWWlJ-*v)VI{@n$c{5c*=eNF!JN`}cu&mJYcOM+&a_D}ff-n42y} zS)#g!y=Dh1jXBvNCUO>K*XTG|5z~&<7n!OCk^B0b#-(~!pDQp|izoZ8r5tZ#A zB72!xn%L3Xn}NX-0M*7BsV>FgKCGI;3b^E6L>)szeg_AKj={kk!L;RX8@nx$?zU8p zRl&!TYM$HFGX&|00e4w|yQt@g7Xvs9#R}FwI(zx2pryq8G``cPGO|HgC&v!1=sHI_ zk5878Mw!l#oQ=S}ioo^PwpQ!m6Q~LL#g{b9w6eN^78mHOzNL~ycQg598^iZeS}WJ$ z9BENL*L>FI<@+?u?6PKotVf>*>@2-JpjME7yQE7V!^2L+RWKW*ah`YI$k|s-MndO- zdib_IV^1~dYeBkL)@9~DC?1AKw&ufE*Q@`F1q~EAFcT9KS~otaI{Dk`WfkA;Ma6x` zIaOHZG#m^*CC?9Ttnts7kf&((FpuzQ-7H1Zj*sl*DAP&qBsOJ?!)zqMD1C{Q56f7Y zw5lp|6B84+G`L5?uWpk;o|zr4t4l>L8Gab?O(~M6Ouo{)eh;n;&72=^Gb+)zNK5lo z8^}Q}@a|g9vWZ!B&b`mPGBNLMx>ZrKaA%y;=C;<29xk_#b38kWhLj|GpoD44ty}x% zu6iV_wtykeDig{}?K;oP7<#m2kF5P=^J;G0*BUaA zt&5Vr*pa$EJ!Rc_pgd_Yv~Jh^dV&4y$o4cC-^&1QLk#`wX$OP`q^?*EOOk;wP||>= zQ0u1LvwWHA8kl){fZmvt&D!y}wb6$JSYw=3LsLI*XCgI;9?tlR!JphJN-R=`vx(oc zI0d+tmt0p{7J?NI1h95Lu6H2|=6@NBx+6;FvVS)gGXyi;>eO1l0eul|r;cp8e402> zck(fPykzTDstd>Jj!r$UIxvxRP-XO^k`#579%ECAVnh^XVVa*wW+ezBMOE%m$gyEj zl^|*Q>5JjyZE6r6cy8m`@BHKYPm-L1G|Wp>ws|c0OSx>^PAEw5as+Pa4F)qta-;~F zpIAM+A*na1BC|Kz<_$F|OG$lVv}RM?eELgYuvwAOgVQhIEFf*zLFgL|J%uDnJ=c`| z&@JzmyjTd-l4j3p`5!Zie;I*-Yw$_H#`}NU%KKeu{oB>)FIw5PYU!Qs=VOin{{F)* zJZTwdkw-T2aWJc&V{PAS#*)-o_UrKB-%JX=7*&~AjOvxw2nxk(->3M|i1+I=0D7^L zW1K)UlQRwAuYb)-1cAQwvQuPS1vIh)=!09h{=44#-=c$mt5g4PIUiuk?7O}H*c$(} n8*TbGOy2+f&i&P+>pSl-Sz3%#_Bz17XMj|dG;icxza8`+?XW0b literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OutdentedThumb.png b/blazor/diagram/images/OutdentedThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc9dc6d2b29fcc7a9bb075dcac1f4c04cac55fb GIT binary patch literal 5044 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/RectangleThumb.png b/blazor/diagram/images/RectangleThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..cb91bcc50bc1988a42be44ab6623bfb86724b1f2 GIT binary patch literal 3635 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

$);gFk9ghYV;bW%Es)stae&q`TO03!B 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/SnapLineStyle.png b/blazor/diagram/images/SnapLineStyle.png new file mode 100644 index 0000000000000000000000000000000000000000..b9629253a29c335acd161b88ad61db827514301f GIT binary patch literal 12195 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/SquareThumb.png b/blazor/diagram/images/SquareThumb.png new file mode 100644 index 0000000000000000000000000000000000000000..70ca99ec31104bd45cb8094e3ced1aab03dac0ac GIT binary patch literal 4387 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/StraightSegmentShape1.png b/blazor/diagram/images/StraightSegmentShape1.png new file mode 100644 index 0000000000000000000000000000000000000000..55ab2648ddf0c153bea64cf90b47ef0e62797dff GIT binary patch literal 5225 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 G*#7_^R-6<7 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/UserHandleTooltip.gif b/blazor/diagram/images/UserHandleTooltip.gif new file mode 100644 index 0000000000000000000000000000000000000000..97589b1c1225fa33a818e6b47008bbf84a56317a GIT binary patch literal 200173 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%0A98key-m$Y0R+*pCEW=4Wh8< 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/ports/interaction.md b/blazor/diagram/ports/interaction.md index f19ab4644b..fa5bcb4909 100644 --- a/blazor/diagram/ports/interaction.md +++ b/blazor/diagram/ports/interaction.md @@ -236,6 +236,61 @@ You can download a complete working sample from [GitHub](https://github.com/Sync For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) +## How to set sticky tooltip for ports + +With this mode set to `true`, Tooltips for ports can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. + +The following code example demonstrates how to set the IsSticky property to true for the ports: + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Popups +@using Syncfusion.Blazor.Buttons + +@code +{ + //Define diagram's nodes collection + DiagramObjectCollection nodes; + //Reference the diagram + SfDiagramComponent diagram; + protected override void OnInitialized() + { + //Intialize diagram's nodes collection + nodes = new DiagramObjectCollection(); + Node node = new Node() + { + ID = "node1", + OffsetX = 100, + OffsetY = 100, + Width = 100, + Height = 100, + Style = new ShapeStyle() + { + Fill = "#6495ED", + StrokeColor = "white" + }, + Tooltip = new DiagramTooltip() { Content = "NodeContent", IsSticky = true }, + Constraints = NodeConstraints.Default | NodeConstraints.Tooltip, + Ports = new DiagramObjectCollection() + { + new PointPort(){ + ID="Port1", + Style = new ShapeStyle(){ Fill = "gray" }, + Offset = new DiagramPoint() { X = 1, Y = 0.5 }, + Visibility = PortVisibility.Visible, + Tooltip = new DiagramTooltip(){ Content = "PortContent" , IsSticky = true}, + Constraints = PortConstraints.Default | PortConstraints.Draw + } + }, + }; + nodes.Add(node); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/) + +![ToolTip During hover the ports with Stikcy Mode](../images/PortIsSticky.png) + ## See also * [How to create a node](../nodes/nodes) diff --git a/blazor/diagram/style.md b/blazor/diagram/style.md index 3154834c1b..13db0d7e69 100644 --- a/blazor/diagram/style.md +++ b/blazor/diagram/style.md @@ -360,6 +360,40 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![SymbolPalette in Blazor Diagram](images/SymbolPaletteSymbolContainer.png) +## How to customize the style of orthogonal segment thumb + + +To change the appearance of the Orthogonal segment thumb, use the following CSS code: + + +```cshtml + +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Sample/Style/OrthogonalThumbStyle) + +![Segment Thumb style in Blazor Diagram](images/OrthogonalThumbStyle.png) + +## How to customize the bezier and straight segment thumb +To change the appearance of the Bezier and Straight connector segment, use the following CSS code: + +```cshtml + +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples) + +![Segment shape in Blazor Diagram](images/SegmentStyle.png) + diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index 7bf007af2b..cf56e2ccd1 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -520,6 +520,115 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Template for UserHandle](images/UserHandleTemplate.gif) +### How to set tooltip for user handle + +The diagram supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, the tooltip property of the diagram model must be configured to contain the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and to [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. This ensures that when users hover over a handle, relevant information is displayed at the correct position relative to the handle. By default, tooltips are not displayed; you need to add the tooltip as shown in the following example. +```cshtml +@using Syncfusion.Blazor.Diagram + + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + DiagramSelectionSettings SelectedModel = new DiagramSelectionSettings(); + DiagramObjectCollection UserHandles = new DiagramObjectCollection(); + protected override void OnInitialized() + { + UserHandle cloneHandle = new UserHandle() + { + Name = "clone", + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Visible = true, + Offset = 0, + Side = Direction.Right, + Margin = new DiagramThickness() { Top = 0, Bottom = 0, Left = 0, Right = 0 }, + Tooltip = new DiagramTooltip() { Content = "CloneNode" } + }; + UserHandles = new DiagramObjectCollection() + { + cloneHandle + }; + SelectedModel.UserHandles = UserHandles; + nodes = new DiagramObjectCollection(); + Node diagramNode = new Node() + { + ID = "node1", + OffsetX = 100, + OffsetY = 100, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "none" }, + Annotations = new DiagramObjectCollection() { new ShapeAnnotation { Content = "Node" } } + }; + nodes.Add(diagramNode); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/UserHandleTooltip) +![Tooltip for UserHandle](images/UserHandleTooltip.gif) + +For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) + +### How to set sticky tooltip for user handles + +With this mode set to `true`, Tooltips for user handles can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. + +The following code example demonstrates how to set the IsSticky property to true for the user handle: + +```cshtml +@using Syncfusion.Blazor.Diagram + + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + DiagramSelectionSettings SelectedModel = new DiagramSelectionSettings(); + DiagramObjectCollection UserHandles = new DiagramObjectCollection(); + protected override void OnInitialized() + { + UserHandle cloneHandle = new UserHandle() + { + Name = "clone", + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Visible = true, + Offset = 0, + Side = Direction.Right, + Margin = new DiagramThickness() { Top = 0, Bottom = 0, Left = 0, Right = 0 }, + Tooltip = new DiagramTooltip() { Content = "CloneNode",IsSticky = true } + }; + UserHandles = new DiagramObjectCollection() + { + cloneHandle + }; + SelectedModel.UserHandles = UserHandles; + nodes = new DiagramObjectCollection(); + Node diagramNode = new Node() + { + ID = "node1", + OffsetX = 100, + OffsetY = 100, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "none" }, + Annotations = new DiagramObjectCollection() { new ShapeAnnotation { Content = "Node" } } + }; + nodes.Add(diagramNode); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandleIsSticky/) +![ToolTip During hover the ports with Stikcy Mode](images/UserHandleIsSticky.png) + +For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) + ## Fixed user handles The [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html) is used to add some frequently used commands around the node and connector even without selecting it. @@ -872,6 +981,100 @@ You can define fixed user handle style using a template in the [FixedUserHandleT You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/CustomizeFixedUserHandle) ![Template for FixedUserHandle](images/FixedUserTemplate.png) +## How to set tooltip for Fixed user handle + +The diagram supports displaying tooltips when the mouse hovers over any [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html). To achieve this, the tooltip property of the diagram model must be configured to contain the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and to [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. This ensures that when users hover over a fixed user handle, relevant information is displayed at the correct position relative to the handle. By default, tooltips are not displayed; you need to add the tooltip as shown in the following example. +```cshtml +@using Syncfusion.Blazor.Diagram + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + + protected override void OnInitialized() + { + nodes = new DiagramObjectCollection(); + Node node1 = new Node() + { + OffsetX = 250, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "white" }, + FixedUserHandles = new DiagramObjectCollection() + { + new NodeFixedUserHandle() + { + ID = "user1", + Height = 20, + Width = 20, + Visibility = true, + Padding = new DiagramThickness() { Bottom = 1, Left = 1, Right = 1, Top = 1 }, + Margin = new DiagramThickness() { Right = 20 }, Offset = new DiagramPoint() { X = 0 , Y = 0 }, + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Tooltip = new DiagramTooltip(){Content="CloneNode", Position=Position.BottomLeft}, + }, + } + }; + nodes.Add(node1); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleTooltip) +![Tooltip for UserHandle](images/FixedUserHandleTooltip.gif) + +For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) +## How to set sticky tooltip for fixed user handles + +With this mode set to `true`, Tooltips for fixed user handles can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. + +The following code example demonstrates how to set the IsSticky property to true for the fixed user handle: + +```cshtml +@using Syncfusion.Blazor.Diagram + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + + protected override void OnInitialized() + { + nodes = new DiagramObjectCollection(); + Node node1 = new Node() + { + OffsetX = 250, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "white" }, + FixedUserHandles = new DiagramObjectCollection() + { + new NodeFixedUserHandle() + { + ID = "user1", + Height = 20, + Width = 20, + Visibility = true, + Padding = new DiagramThickness() { Bottom = 1, Left = 1, Right = 1, Top = 1 }, + Margin = new DiagramThickness() { Right = 20 }, Offset = new DiagramPoint() { X = 0 , Y = 0 }, + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Tooltip = new DiagramTooltip(){Content="CloneNode", IsSticky=true}, + }, + } + }; + nodes.Add(node1); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleIsSticky) +![ToolTip During hover the ports with Stikcy Mode](images/FixedUserHandleIsSticky.png) + +For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) + ## FixedUserHandle event The Diagram control provides the following event for the fixed user handle. From 71dcf2193db10e7901168fe8b3153b60c16dbdb4 Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Fri, 30 Aug 2024 12:24:46 +0530 Subject: [PATCH 03/14] 892868: Tooltip for Port --- blazor/diagram/connectors/segments/orthogonal.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/blazor/diagram/connectors/segments/orthogonal.md b/blazor/diagram/connectors/segments/orthogonal.md index 0942e100da..35a4658c2b 100644 --- a/blazor/diagram/connectors/segments/orthogonal.md +++ b/blazor/diagram/connectors/segments/orthogonal.md @@ -233,6 +233,4 @@ The following code example illustrates how to customize orthogonal segment thumb You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/OrthogonalThumbSetting) ![Editing Orthogonal Segment in Blazor Diagram](../../images/OrthogonalThumbSettings1.png) - Binary file addedBIN +4.48 KB -blazor/diagram/images/ArrowThumb.png From 9bcfbfa9257bf7de03806a3561dcdd0b327a39db Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Fri, 30 Aug 2024 14:45:29 +0530 Subject: [PATCH 04/14] 892868: Tooltip for Port --- .../connectors/segments/bezier/bezier.md | 31 +++++++++-------- .../diagram/connectors/segments/straight.md | 32 ++++++++++-------- blazor/diagram/images/ArrowBezier.png | Bin 0 -> 6780 bytes blazor/diagram/images/ArrowStraight.png | Bin 0 -> 2239 bytes blazor/diagram/images/CircleBezier.png | Bin 0 -> 6746 bytes blazor/diagram/images/CircleStraight.png | Bin 0 -> 2331 bytes blazor/diagram/images/DoubleArrowBezier.png | Bin 0 -> 6830 bytes blazor/diagram/images/DoubleArrowStraight.png | Bin 0 -> 2199 bytes blazor/diagram/images/EllipseBezier.png | Bin 0 -> 6767 bytes blazor/diagram/images/EllipseStraight.png | Bin 0 -> 2183 bytes blazor/diagram/images/FletchBezier.png | Bin 0 -> 6675 bytes blazor/diagram/images/FletchStraight.png | Bin 0 -> 2189 bytes blazor/diagram/images/IndentedBezier.png | Bin 0 -> 6869 bytes blazor/diagram/images/IndentedStraight.png | Bin 0 -> 2194 bytes blazor/diagram/images/OpenArrowBezier.png | Bin 0 -> 7039 bytes blazor/diagram/images/OpenArrowStraight.png | Bin 0 -> 2476 bytes blazor/diagram/images/OpenFetchBezier.png | Bin 0 -> 6927 bytes blazor/diagram/images/OpenFetchStraight.png | Bin 0 -> 2280 bytes blazor/diagram/images/OutdentedBezier.png | Bin 0 -> 6883 bytes blazor/diagram/images/OutdentedStraight.png | Bin 0 -> 2374 bytes blazor/diagram/images/RectangleBezier.png | Bin 0 -> 6730 bytes blazor/diagram/images/RectangleStraight.png | Bin 0 -> 2053 bytes blazor/diagram/images/RhombusBezier.png | Bin 0 -> 7142 bytes blazor/diagram/images/RhombusStraight.png | Bin 0 -> 2416 bytes blazor/diagram/images/SquareBezier.png | Bin 0 -> 6748 bytes blazor/diagram/images/SquareStraight.png | Bin 0 -> 2072 bytes 26 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 blazor/diagram/images/ArrowBezier.png create mode 100644 blazor/diagram/images/ArrowStraight.png create mode 100644 blazor/diagram/images/CircleBezier.png create mode 100644 blazor/diagram/images/CircleStraight.png create mode 100644 blazor/diagram/images/DoubleArrowBezier.png create mode 100644 blazor/diagram/images/DoubleArrowStraight.png create mode 100644 blazor/diagram/images/EllipseBezier.png create mode 100644 blazor/diagram/images/EllipseStraight.png create mode 100644 blazor/diagram/images/FletchBezier.png create mode 100644 blazor/diagram/images/FletchStraight.png create mode 100644 blazor/diagram/images/IndentedBezier.png create mode 100644 blazor/diagram/images/IndentedStraight.png create mode 100644 blazor/diagram/images/OpenArrowBezier.png create mode 100644 blazor/diagram/images/OpenArrowStraight.png create mode 100644 blazor/diagram/images/OpenFetchBezier.png create mode 100644 blazor/diagram/images/OpenFetchStraight.png create mode 100644 blazor/diagram/images/OutdentedBezier.png create mode 100644 blazor/diagram/images/OutdentedStraight.png create mode 100644 blazor/diagram/images/RectangleBezier.png create mode 100644 blazor/diagram/images/RectangleStraight.png create mode 100644 blazor/diagram/images/RhombusBezier.png create mode 100644 blazor/diagram/images/RhombusStraight.png create mode 100644 blazor/diagram/images/SquareBezier.png create mode 100644 blazor/diagram/images/SquareStraight.png diff --git a/blazor/diagram/connectors/segments/bezier/bezier.md b/blazor/diagram/connectors/segments/bezier/bezier.md index 62cc6a06d6..9c2d6740c3 100644 --- a/blazor/diagram/connectors/segments/bezier/bezier.md +++ b/blazor/diagram/connectors/segments/bezier/bezier.md @@ -246,21 +246,22 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize Bezier Segment Thumb Shape -The bezier connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles . The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. You can choose the shape by any one of the following shapes. - -* `Circle` -* `Square` -* `Rectangle` -* `Ellipse` -* `Arrow` -* `Diamond` -* `OpenArrow` -* `Rhombus` -* `OpenFetch` -* `Fletch` -* `IndentedArrow` -* `OutdentedArrow` -* `DoubleArrow` +The bezier connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles . The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. The shapes will be visible only when the DragSegmentThumb enum is added to the connector constraints. The following predefined shapes are provided: + +| Shape name | Shape | +|-------- | -------- | +|Rhombus| ![Rhombus](../../images/RhombusBezier.png) | +| Square | ![Square](../../images/SquareBezier.png) | +| Rectangle | ![Rectangle](../../images/RectangleBezier.png) | +| Ellipse |![Ellipse](../../images/EllipseBezier.png) | +| Circle |![Circle](../../images/CircleBezier.png) | +|Arrow| ![Arrow](../../images/ArrowBezier.png) | +| OpenArrow | ![OpenArrow](../../images/OpenArrowBezier.png) | +| Fletch|![Fletch](../../images/FletchBezier.png) | +|OpenFetch| ![OpenFetch](../../images/OpenFetchBezier.png) | +| IndentedArrow | ![IndentedArrow](../../images/IndentedBezier.png) | +| OutdentedArrow | ![OutdentedArrow](../../images/OutdentedBezier.png) | +| DoubleArrow |![DoubleArrow](../../images/DoubleArrowBezier.png) | The following code example illustrates how to create a customized bezier segment thumb shape using the `InheritSegmentThumbShape` constraints. diff --git a/blazor/diagram/connectors/segments/straight.md b/blazor/diagram/connectors/segments/straight.md index 131151c84c..a6cab97f9e 100644 --- a/blazor/diagram/connectors/segments/straight.md +++ b/blazor/diagram/connectors/segments/straight.md @@ -102,21 +102,23 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize Straight Segment Thumb Shape -The straight connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles. The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. You can choose the shape by any one of the following shapes. - -* `Circle` -* `Square` -* `Rectangle` -* `Ellipse` -* `Arrow` -* `Diamond` -* `OpenArrow` -* `Rhombus` -* `OpenFetch` -* `Fletch` -* `IndentedArrow` -* `OutdentedArrow` -* `DoubleArrow` +The straight connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles. The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. The shapes will be visible only when the DragSegmentThumb enum is added to the connector constraints. The following predefined shapes are provided: + +| Shape name | Shape | +|-------- | -------- | +|Rhombus| ![Rhombus](../../images/RhombusStraight.png) | +| Square | ![Square](../../images/SquareStraight.png) | +| Rectangle | ![Rectangle](../../images/RectangleStraight.png) | +| Ellipse |![Ellipse](../../images/EllipseStraight.png) | +| Circle |![Circle](../../images/CircleStraight.png) | +|Arrow| ![Arrow](../../images/ArrowStraight.png) | +| OpenArrow | ![OpenArrow](../../images/OpenArrowStraight.png) | +| Fletch|![Fletch](../../images/FletchStraight.png) | +|OpenFetch| ![OpenFetch](../../images/OpenFetchStraight.png) | +| IndentedArrow | ![IndentedArrow](../../images/IndentedStraight.png) | +| OutdentedArrow | ![OutdentedArrow](../../images/OutdentedStraight.png) | +| DoubleArrow |![DoubleArrow](../../images/DoubleArrowStraight.png) | + The following code example illustrates how to create a customized bezier segment thumb shape using the `InheritSegmentThumbShape` constraints. diff --git a/blazor/diagram/images/ArrowBezier.png b/blazor/diagram/images/ArrowBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..28150e432bc892ad7c2824efc991c45740301bb8 GIT binary patch literal 6780 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 AzyJUM literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/CircleBezier.png b/blazor/diagram/images/CircleBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..ec611aecc8957e355474e1965f521d43c89f53c0 GIT binary patch literal 6746 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/EllipseBezier.png b/blazor/diagram/images/EllipseBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..314c3ab940721a498f466ef39cd9f1a8755a6fdf GIT binary patch literal 6767 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 CY>k%y literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/EllipseStraight.png b/blazor/diagram/images/EllipseStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..52b8179d68068ff65d8911ee776f827fa302ab5e GIT binary patch literal 2183 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/FletchStraight.png b/blazor/diagram/images/FletchStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..eff0c9e458c54b03b531d396f889bced3f86dd1e GIT binary patch literal 2189 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 W88qi~j*nr7E8Q literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/IndentedStraight.png b/blazor/diagram/images/IndentedStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9235a5a8f90f180434aeaf93ef88c55dbf6e93 GIT binary patch literal 2194 zcmdT``&ZK07RPZ$!4`rtX^EzdmG8y$;#*VZBlCd@m9I%MM4H4z3?HaVvxEKU6&FLA936g=xg&; zYv(B9@u2=vkvXp7yb3@l?Ic#2;Z%3N z<;RH8eunnPpK)Pez3wxk!QlKzYZ}2l`%5zzpZ;OoYkFoTFxS+EL@7NG3?z;QF&K>h zrWC4kt`iQ~w`4pF-^aZlzB0~_oL!mE_d+_aqSQk$c6`Am_iFbH%{}ht55K+rI5U*L zF}^oh1M$ea=%b9*RF`twY$hu$sv=B%Myo5uV=5>gCRlmi+9V zDfwaFzWl3c)Z@p4qN1YWxLo2J^hH%ikA%N8RVl8TyrcWm&;ImT-9IFHLy^_M;=f`` zciS|&D*Ig8cyZq8ak8d z7}ddR0prOX)+0@cG^>ppoqS&qpr}`!tK_($+9qmy+eunW3N5&`KVt}z7C&@VW{kC+ zdjEv%IGf3;X>XED2C4|1Unt89%672vMO)bNc%DIadlYd5cHfbo!Oq#a=?IN`!N;;$vSXf&1qg zyiKWFv<4#u9<>8YbGk%n8RHRG-Cr_+R1~fX7J3aICz@Ewe%gB`BqSt|GgGxH5YCOZ zQ!#I6=Egc{n89by{AaZb>h6ELWVqU{?VV75Jg@erxNZr#^gs!FtRsqc_u%?>m}U$H zQz;UOmgln)6BDy|r%qMqf$iUafB3BHmgy#*07Koz4h;+IlvSD2dll&FvK?bR5{9Hq z^1H;|SP}Lsq4-;%Du;B@4F?G8lGZ|EYEFVXIQ(X3yetT^t03jBxhge(xy)o2n!T*$ zOI95I20_9%9KHr83lrk6->R2-L3i2&vo;F!ivV!+AasW(kfJ7xCck3^n*)v*I@OrN zPr}Ml%>m|Fxy)d~Xf_xmGWW78$tCd6PPq)Vmklq)gi(SoNDP4P=#aw}Sb#~8%MK~f zZ*%JtHgot(b}VWT6s<;4*9q}|xYFazIQ$ZOmfIF~{Z4_jTY;99)+ZQp__JGC!#+^- z3UZie4uG5FvOWbmk^*wiHG9RQhE2@?rVV}AYr;snnY9nbn?X_WSOAQa4{n1YF4s50 zu&^t^7m8jGNYNrZ3m$Xg@WnV8aT~jSyL|Ay0zF6pNuE%2mO#2ifi8AnZT*h@(wgqF zk;DIllbM?X=>XjY&S^wZMI!utGDspr;|X$$bIo111a3$UKSJP!wFP_dd_iVj^O0?G-`5K911xb64(4Bedo2cE{P!^_Vl=Vn^v%H(N@Yt+%W^i%ZPWAf z6l2V$`}0q^^)ZZt;k8iGOCw|B5DJA-eEW6~;Y3?ir-r+!w?|_QnufDjFElR_R`t3m z`Nef{>FIk?xm*iByoIIZ>&f1t*NyQ*Dk-%|)xhYRDref|BBjjwjFH`UX%bFm$wm#jAr_5-Db%8TJHVXc{v{ zbW!%Hg;vs&-D`zYX*Am7q{%$vlsG&*agu4M{zj;2c=l%^?R4$+9!I_t2;cG7f&y<{Q>(!CwBWr2lUf cL|Qcr!W&x!W*_c`{}G6QLu8*?@8}Ev0feygdH?_b literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OpenArrowBezier.png b/blazor/diagram/images/OpenArrowBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..8253b2a7a0498779321d2b9f58cf9ca415ac8339 GIT binary patch literal 7039 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OpenArrowStraight.png b/blazor/diagram/images/OpenArrowStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..06cfbc6b5fbd47b77b19563376740ebc5575b025 GIT binary patch literal 2476 zcmdT``#;nF9$%+&E0=A_$-a#cosiZyqpw>uml9gG++*bO{TO0qxg}XOhfzl(-*Ve3 z>f17DB)7<=uhyo_EJO$sqn&InxqLt0bN-2Qet5lK&*$rXdAwhb$LsxmzOv7Fx~i+` zszD$S^^j?yLu=WU?j8j zbE0m!9X8*l>IA@rYx}f#6&yVGpwYix9lj~iF9i zQ{KkEcMRU0w>Rg}qer42^4Wpzx|pF*=^&TAwBCM7UH54Rao}kX>gds3uK7s%%*>4F zcVbb^vufUq4pT{8ChOMg)^u3wO&(B876o?|ng@h_dP$B~%zd;@_~JGT?M{7c$a<-wtwpNPT;wr@@7RNPplZ*vMc^2-N) ziH%NHR#yDKzx?4}Ez;$Bt}OOF%gwta>r{ZbqN13M3oVVa<=Ww~ejgb&_sOCv#-Oy` z)mDb-po}v5_@kjwlE>o4rC^yjtU4*;`1#bOc`1?0h`#V+X7eOAU_SI+F@7pA z_PiA-1a&m@f#RK&6hBx$>SDWcp+m%m78H2bgm#WbZlngm>xW^oejn&vG+E;c_0U>n z!b0;>9rF8~d{<<$5%Ti#*rmnyt~Q49K3df$N^pll3LOZ9%R~Xv*{Eqj5o0K0Tw3qb zA)CObEswq8S-c=Yj1mdL;R6!y>ZT8ubHlpxXpyDam&UFsmU|dbfkUf7S9b=zvQ+m@ z_HZ@3;bu_sebx)PC}5iG!RCExAVsb_pz-GbKMxOl|6@E}E+4>K+6Lkc4NLZBaLCd4 z=8cq8{^*8cRD`;TT_IUigN1+_&DczrPvkqC8wk!wmrvb|ON!vJdH*22MUjhs0c?_R z{UgnI@)tLJ%&>S*(<_rQT)(;%uHT{+*Dn@Z^aoK&X67;j?N=qNbG!{njzvpUCqN`V zSzVbfvthNGhJ^BNs?I^J2iHmxOetS?cL&W9|`)7si-+1WJ9 zXnyCnZw?a=iqI5=Q|#pHuPhcTe)-#&h!llD6Qk&5cUC4=K4)qASKgZx)&{q*4P%7% zo3`V!Zo`L_hVxCedm9>V3zkO`y?g7n-dGSGS+=zOeGOVv*tyoXSow z_&gYGvz2tfN~;OqHv+g)Zi~yhG;_}NF zshTQ6m{Vo`H$v8`7T4K;ct(?1N2972mQ|S_A!JSN2i%W~Lsn>mFeus=$*iMN)le6@-}v_ID^D%hUw0G$dXO$FQ$c)pvUefm7lT z0*2j1RiE+_0-oZK%NVw%3L?=8Hh?t1)bWDq^j;YQH}5n+?|8NnGwB1T)d%CQ|7S;an<}ZVcz%2QiG>0b&^U3y7gy zB`x%C7@@9{I7$s0twms|V%P*KeGbFUq|$j9b_JFG1jBBl(sMEFF)E#iQ70H`V_DAP zH%`K32ZG^N?1UGUe%SFr#s>KFqGGATa_0p#)YehHh$16lPb|9H7!)YFX~4bFj+H zE+!0Jc(tb@uk2`N=Nj=)=m&fa+&KT|F&Fly|qEqL&s2 z)v*0)jguBe_JY-4lOq4hAE_fv^E)@ze@xJ=Mrf3gWRv+96M1~3B(LiI&*5_JuYC`# zFMdA0Q&W@TVlm%aaRPPZ2&|x>z|*x@2g{1=`E~Loc{X&kCB5X9J3>z{zpv7(yDdxE z#_(b?)5YsH-oN2|5-1+6_Y(LI?)_6kL!;}D0u#1K@*86NBBtT3U+mu#5zm=C^X}VW z6#;+k=tiT7Vo-jX6L@omdcEq{t!JT@DNI}6)bWmNe&akNtf!{e+)7QN3YxYlIEDFj znqR_Jj&8(H6^3o2uW-(S_X1+x7Mi0_sIjqt!d!-~o%cA-eiavrM?NvHEYdmn-=9NG z_j~vQ7Xd>%U}boE?DdTRLB%`!uh>|%+kzYX(uZogJN5x)cVSk+b{(N`OMUHu|MlL$ bXgtHADbn9J3U>zVuplR$Juy$6LazP^;VZ6< literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OpenFetchBezier.png b/blazor/diagram/images/OpenFetchBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..f17acc1fe47d7d6e2c98a24eefb68a40f1f8e072 GIT binary patch literal 6927 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 SaRh&2LG*4KY87fc3j7ZazBfhy literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OpenFetchStraight.png b/blazor/diagram/images/OpenFetchStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..753dd3fff3e86838e4d798224d2ac561180ec888 GIT binary patch literal 2280 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 M!$7@M)jsln0Rr>MFaQ7m literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/OutdentedStraight.png b/blazor/diagram/images/OutdentedStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..230b8f4cff789966b1a989362146df965a6e47b7 GIT binary patch literal 2374 zcmd6p`&Uxg9>6hkl(=T%y_lJg;bzSwXlYqK8Wj&>a)T!G0hp$pMp80I^ZiQ2D`ZNf zQDjj}!)nY&=_N4VeWA zhUq~JkMW_z!C+fkzBZkX3%`Ldn8E9#fal4ikhwR#WyKoHW;G|U+NI0@?&^Eb+|+JF zCc0a&+jzZVbe=Lj1JGHHqNZLIhLiQ>v&ww^zVi3+D5qqpb=MnKpi9- zq7dSGH*v@-HkaK4|G0-8o<#lp@y*kkw55fyq<8HF`yCxk{urz< z-$@sGsJfqwRwgv@EV-zH`QE(#A&jdQHqY zZbo8M4&E5cF+w|C2w{C7yW`!Kz}B)y0egi1EVOV%nL9C9GlEpRgn4E9P&4W*iJv;w zoE7=2YdJ_zY<#jP56NH8OW1gsIDa2hw;S?gTuqD2mvLi;fG~<`~+$b38-IRHd0UI#|;>W zUzS{Gq%=^EF9vaTI-js8m{thA)X?%4P3_kPh=ia{<^4R%? z>VO2{ef$@yUCQN$dsgEc)M>+H)1`dVF_X|Yx2_oI`yN=nRE z>qdhcQNxMqiMD4O>}vdR$(GvXs9<#6b0)8H!7op`ry9;gZI4a#%tj6(Um-`3!T0I_ zC$?f!u534w>H!wPu@_5Zg;@$*B3pIS0DG}WR>)Q0v@F$4$mGjNmmtGZF(H#9BVASC zR@f>g94ju74MHZB%{XR&6&J|{S&(5dx*^Dy4MJh5EXFY?EJrqYQ-S-;W^}``2TEj4 z&HKc??i=+ATnmfgRjd#=$9dC*VSvPwiMmAq%^{!wk}L?kKyzQZ&EgL30va zs01W>5D-BcjxH1c5Du`!G>F0%*opJnv^?h-mTS z18Dg*IQ9w&q@aYkeJqT8w>TydEk9yRt#RZ|3E)@^q>OP0Xs61z3v)A(lmO_vqil>V zi9Sw76SoL+_0Yr}LOrexU(p|rCb|eka)4L0jausqnwbkl`4Awfwcenat58G)cx=ev zK>l{22mt|-Izj^ZhlQeUfJfa%9q|QA4TYit2#l#C-e9SPP;?9eC=3UdVud2Z0L}8l zq2olG$2MY{8k>4AC}ZVAN1$y=enY>*{8022KA#^Xjea|}{X?@aZ=^0BPn)QPe*RbD zbAGp7;`c@?>z$K|ht8JYwvD^DwH!QmW&H9Ymte_mNY%Dy>FS3^Mm}_@8*48x|9Miz z{W4iZo|x<`Qn#9rPez<}0C?@+mA&k+%5+nvYu~xpT9IaJ9{|oOU%L8h`g;9mzS27zI=JdDKp;g&J`JV?UkscAx#-;Rho|F6rkeuF8e3aBCk67Jj1n<*#simbnu zKA!h?p$BS`)Zy_5Y8M0xAvgbS+DP9FwY|2K9YP>>rsqzM{f;XSUts5rgLZfNex3Yq z1x?xxrTTQUtoFy(MEiX)^1!o1H@T@{S3+~e|4#KL`LC4D{=;YSv<&I#=;-JeE7hmL z%2;mMYU8sQn&;_KU9PCgm$CNyxAA+RiKsgN+6DOkxh|Nf-T!?q+~aCh2z2Lx!H(id JKqc;U_MaVHN!$Pc literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/RectangleBezier.png b/blazor/diagram/images/RectangleBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e389c6edd64752dc5841018101d0e56748c138 GIT binary patch literal 6730 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 TBmM#3e<1qWCR#NbjxqlO^rZ|2 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/RectangleStraight.png b/blazor/diagram/images/RectangleStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..1625c8512f3ed3bce14c11cc41ab11cfe6439648 GIT binary patch literal 2053 zcmds&>sOOk7RF-{lZa#jv}KBkgi8VGfXa0spe9o8G0@RrKm#=b7Dfw&*Kifl#6?g_ zw1IGqAuGjEDbWZ*4VRQ{D z3!8Qz6;zDZ!|j%~D5rKK^829T57f=AwC(oDzUHQn|9&?6+;u_?wk-V$ueXxsxQF>MhSweU*8S?FUT7gk>>G71ZWjV4px@J4%E z8+U$weq?r*o|KpvB@&7FzA86Bh7ERJSX}%pS#a<|{msxKp7+TguZM?+k8Erd*Vop1 z4C7NXGWJp^lxCyRh>dxXEhI+$a5UHJ+3`TYeqVCzOW8$g=hu_bdCOCjwzjtZRngGU z(D!gj?f374K_e&iYEpJk&WnFg1y?nh_tqedMuRmivM@=rZ*~8?IKd^x?rAtvx;}Vz zG*PM_94mge;$$|P%7$&e>V@rrDRb5GBMs78aiiv5jW;d&so>BuF2l`NngT3m;BJXe zV|Jf-UMminzx_>5#icfSc;{=sF*41(>8Rop^R9ZiD^^!#9s^sO<~LfkX!u6DkBG_3 z-`cz&p^6gKSqYV6|5$an&(=1?{O3ctqw0uXOr#WD}5|)tb_?y zxSx)^Xe%w1V>V;7mu-pfYCuaj#tIj-bY~ENRsy4)4?bi;>U8p$GdL4&bGmu1V)$(uoSbz z4%7bmI%IPN{KiA#@`3PGBt2pjjSsaU*2ikKb&&cPSs`KLDXsvn0aE*s73HvS1{!N2 z^@n7|9as>6#(F3|j~uaAUKwl`9PPq*cKjtLly8c=ihG3X!u8-}Vx3Oc-qFDe2n@XT zl*wdfoIU#|>s`A(6bL=jfhxVJj)s|-n@e?YaENYcY01dT>wGu3Y>*Utb1vPjRma!q zhxAXXKU)~&y8mZbZ2q@l5w}Mu@+sgk4D+ftYZ|5BfdlFwsjRuV+0Wm<`uW(HSK3}a z7+=@z+EZxEtmpG}xS)xlq1f^9@n|b6E51t{Mkul^2&h?>U3mXi$I<*sTJw1e8!aen z_NAY%dh!_Mc|#zcFSG3l_g0=Z_^&5XQmzGJ=Gj2_+cR4(l^+%<_u%KNUT&U`wu?ScW^hR zoh~|dbjd#ox(hd^4i_T3Rc;^vhx7I7-xI;!{C7V8Goi2f&7r^jVKlF3#dI0|x)D*I L9}N?ezr6e}m4@yc literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/RhombusBezier.png b/blazor/diagram/images/RhombusBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..f9593e566a7766cb36b9738c926f548c5f1d7862 GIT binary patch literal 7142 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/RhombusStraight.png b/blazor/diagram/images/RhombusStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..23a7bc4fe1cf94d39d6feac5d7b0f4bada9047f2 GIT binary patch literal 2416 zcmd5;X;hNi8pZ<0G|?k!TDHvO7^FFpBaWeI>T$p?D@DvSN;0XOPNH;j!r?R!&RQ+a zgb>muO^rf5j(9RsPfDgaqM2lx^ZmN__x*kEkNv*y^FGhJ*4}Hc_3WML>y1-Z+@%PC zK$Jb)UHu>s85CG|$;*Nfb@RFnm}Dq^IA;i_M|TNMDcdAK?S#D~lc3F(2C^!%F$ZK|Ne1kfi%EwxjC4*)#Su)u1r9CZ7RaQkJ87O zDMCB-i<2er2i|VzP;oIdxZ)C<(_}L`mbZ`GWIcKVr%!&dfAryl!dr)4d6zltc5!hr zH8Xo_AJT9o`n>q1HNGZf*q&20TPl*&;D!<<@l|hoO5in(R-1cd1CNl}a(DB{!}W&~ z7o&=8<2Y*_%hq=$W4+xX!oSb3#!?Go*5=^-r!*IqK6FFs1}4j>d$5~7!YLMCBsI;s zIXaluLd$c+OP4Gh*1x_PXr@w^8S@mhaJ;zqgm;K6p7JB+LG4+8N=#{Zn@vd(nWR$Q zBE?}sZR5Vo79YNNk23S_VNYPtDN(|F<8q<4<{e5bIl1!Y%_Mx>5PV^=55Ci3U`KIe zJ*5}XdFP;HGhw=d**f36wFe`P4?jQnxS}DeF!So#QcL?SnIn*5(gJS>AHTX1Ay}G&W7m6koOIl*{F;L~ zLX^CZD}qNcHACX>CSb_RUxqJ^yh@#jIwSS_`nc1W-k7v(wQu9myN(&UiN103OY8h2 z;BRF42CB#@s-T_sm@iI`rEENU)~cs$&R~Xa`kWt(Jz1qCpCECr51aM7&$MS1H$;DU z8XVf(&Iq*haTuJQ{YRu*JULlrTjFWFGCy#1VWtOJ_WRpx=e5syGxj2b9sfcd`ggHf51mTSuZslQ0jRV>hl}M=O$1@BK#Jhmx2oVZ}t~xtHWI&Z> zwEqJ3^J&4dR(KC?d2VWMpc=X=Y$P0{R?7fOFctwNIBq#LQ)EDcZFsON_X53C!OS+0 zp##TUKqf=vCXZN@;}y#AX%$GkxdFhf6I9F5V4gU3A_y!5Bm`6mQ3iD1B=ASoSk|g& zz>a8%qrvDd?1@wY|Ft?RK_B391*AO+2(&J*Fp>sSa$zG<2>f+*7EB*F)GQ#$C?LA@ zc)>EgdQ$v{|eKuh7Pb+}4 z9QFb+7l|SyRH+h)zv{{zc`c|G$|Jmvu~+{j@UfYJWoqajw!E2e8jK36k-#BuwxTLp zm1PFr4ibM|9&yc!odrkBG5`$&V23{Mz)`N21u-z6VCpWYKFlZjW&|pMB1d+xGdIeX zM}qV3bqlH^p!BC|EQA{RA9r@}QErqDk7UZfcT7+{4ic&?nY}<=DxfUSzh}eSwU_1= zL9`@5>D2-fL;<0ZDN0d8SHoE{hCqNme!Dlf%9*W-2H%W&C_Nd8UoRv4Efi!m!_lh@ zU|}cC4XcK#GyoQLc%w8>ppWEgcl^LMT*)i}( z-vghv-d^AA?CeW<{hU)eMVJe@B34jbUKoeXo@)QBf&XuwtJ1|_Xw;hVUe}Lip+i+Y&rymN-B zznhwx!WwTF8<;2r{l^cV)f4gOxqY?kk3z|HLW=;S$%#m5?I9han^3y+$9G9T24~JJ zD|r4yCUHOBQQ>DhP59~4r-`TusrkzBd}W>4#V%P}Pku*MX~g-b(I4J7exg)@{(ht? z{~!u=W`9tS4u+h4O>Sqs(QUV|h!*zgOH!1D_T87C%uT)-cJl0)lvs|hsU{xZ<-y@f zlTv@0fEZ_a(bI)oIk_x{G}gSH^+F9b;dZ2R9}#dT!fq3UioZIsQ`7|i%d|~@Q|=eo WGc!l8ba(KV1o3e5cI7w|X#WC(r)gUN literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/SquareBezier.png b/blazor/diagram/images/SquareBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..9d3ce0b791838d276d2a7a36f021b461f3e5f3da GIT binary patch literal 6748 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/SquareStraight.png b/blazor/diagram/images/SquareStraight.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4c786815b4cf2091232acd5dbe804056a6ce8b GIT binary patch literal 2072 zcmdUw`Bzid7RQ4E30Me-76na2mIgr_k*Ov%dL;ovLJ#VcSDF~ob zEX?i9Q7Dv!FBJ$xp^S*gd<0{PjBB7&OC%X31yYWp>U+1S5HOA=`;$?q-vsNH&YB=> zmOwq7ghE+9`y56c?0e@?D0H1KKn_ZeRFAZ~t`DW-J$*sV4n zd$I$@$ZU8XedES=SFX9GesZun6=>Y=6l3G++8<`z>b5>Gln|wuYUrJATA>~|coRSO zRy&h>ethI$&x7p46K@Z0URdy7gZUtM&d9X_u$bdeZovO;`tfPDEZsr}E-x=XeDtV1 zH7%`hPAnEPV`H6*i;6aAYdih0Fu7!OditWBz5R*G%1V_^_bXg>X5u%VYu~?W5?mxL ztMSb--!#qKagJ=szFi;Q@Y9}%#(_<~s?nx2RqySuR4dDi%e7 z(LXsE`+9hoT2@w8>@w)UC0G$BV`F0O!Sg!#Ge{{FCy#gEblbnbwBq`8S$8*$qjqAk zSj_nNJ#lPyNPLsMJD1RYe=s8;xJP-LnCYH1Z`cvhl@~&z>(8gwvs+)XdCG z=7kH@`vWaBDsqBX`m4n`ZJ}#itzl$#cD8f$oefc#u)HvPMkC)!=<9KLw#0wpcabf) z2DW4^x-ZWTy?Krq=qe*H?7*j8b4tUptEnGdH4RA<{fZ8Oz2jJP_0XkpiD0}>@pDQq zC#mVs-CccN%t)6cq3wOBe5W~xeb%m4U*zi&sToh%I|e6nT3vM?flF{yJ733a^7Wy^)4=DCiH2=#K(rYPHMXoq`y z>H4(oZ05}0kFU0N0b1iWN>Ix3V4!Gdjr{UL0s}PhO7=?k;%W5cM+K3EeC#9{dcBPo zkR=-0DZd&<|jDKomb%=mCI#@v)7FLWhM-0JsJL z3gnD9bd@P*-Is3rxlL7D&AL~uvZrs6pxmjAfPk#ARL1eob{vid5Jpv0;L?Je9 z=sIhOoi)kxrgE@I*Qy7=ANkmlo!mn^c)Cnc$hkIj%X-Nz8xmZqG}*?}<%n$gy4Ez2 zZNBaYL}m~yse30+j#?5l+puou_YjQjKK#JxDWl| zdk3Uq$2LlE0dA`esRprZl#62l!AS%FNNFw?I|G7xYf{Y-Na-vWPa|MM>ZCzRGr9Oa zAo#_a)JcVuyX4}F2p|gLStl3o1_VzLB}zHvQ9Sh0_Vc~)%Jt&=FD@=JSu7W|M)ReX zLZQe827>H1Z{GFxm`A8en)WpaCr*DK9W5Ik4t+f`Ld(m`Yp+`J7L2hnER!#n&rcJs+$$Hlq!^z>A#)p2hk=*OW=H=5%l>H6=&!ox2XZDF51>!4PvtINyFpJN^} zpiTMBon3QNq@0zdu8L1i8MT=!OY@LkL8&ErkCRQ;mR9wTqwVTU_jV=CL>r>-oD_8& z`FL&@(ksPjbzN0V9PfRh}YF3uSGjHf{=TG>skJ<_MC#{z#9{ITHQpH5b2`Nj2=70F*^G=MAYx94a csD7(!Rqi8fPff`*@|&Z4kJEwrqfwXs13|R&{r~^~ literal 0 HcmV?d00001 From 3a1f66ea4f653c2675ae0127d98cfe9e09c4ec60 Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Fri, 30 Aug 2024 15:45:20 +0530 Subject: [PATCH 05/14] 892868: Tooltip for Port --- blazor/diagram/connectors/segments/bezier/bezier.md | 6 +++++- blazor/diagram/connectors/segments/orthogonal.md | 8 ++++++-- blazor/diagram/connectors/segments/straight.md | 10 +++++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/blazor/diagram/connectors/segments/bezier/bezier.md b/blazor/diagram/connectors/segments/bezier/bezier.md index 9c2d6740c3..5428ba712b 100644 --- a/blazor/diagram/connectors/segments/bezier/bezier.md +++ b/blazor/diagram/connectors/segments/bezier/bezier.md @@ -246,7 +246,11 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize Bezier Segment Thumb Shape -The bezier connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles . The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. The shapes will be visible only when the DragSegmentThumb enum is added to the connector constraints. The following predefined shapes are provided: +The bezier connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles . The `Shape` property of `SegmentThumbSettings` allows to define the shape of the segment thumb. + + This feature ensures that the shape is updated regardless of whether the `InheritSegmentThumbShape` enum value is added to the `Constraints` property of the diagram. If you apply the `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. + + To make the shapes visible, ensure that the `DragSegmentThumb` enum is added to the connector's constraints. The following predefined shapes are provided: | Shape name | Shape | |-------- | -------- | diff --git a/blazor/diagram/connectors/segments/orthogonal.md b/blazor/diagram/connectors/segments/orthogonal.md index 35a4658c2b..f1fa509c9e 100644 --- a/blazor/diagram/connectors/segments/orthogonal.md +++ b/blazor/diagram/connectors/segments/orthogonal.md @@ -157,7 +157,11 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ## How to customize Orthogonal Segment Thumb Shape -The [Orthogonal](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Orthogonal) connector supports an arbitrary number of segments between its source and target points. By default, these [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) are displayed with a circle shape in Grey color. You can customize the appearance of these segments using the SegmentThumbSettings property. This property allows you to choose from several predefined shapes. The shapes will be visible only when the DragSegmentThumb enum is added to the connector constraints. The following predefined shapes are provided: +The [Orthogonal](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Orthogonal) connector in the Syncfusion Blazor Diagram component supports an arbitrary number of segments between its source and target points. By default, these [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) are displayed with a circular shape in grey color. + +You can customize the appearance of these segments using the `SegmentThumbSettings` property, which allows you to choose from several predefined shapes. However, to ensure that these shapes are visible, you must include the `DragSegmentThumb` enum in the connector's constraints. + +The following predefined shapes are available for segment thumbs: | Shape name | Shape | |-------- | -------- | @@ -203,7 +207,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Editing Orthogonal Segment in Blazor Diagram](../../images/OrthogonalThumbSettings.png) -When InheritSegmentThumbShape is enabled in the connector constraints, the shape specified in the diagram will be applied to the connector segment thumb. +When the `InheritSegmentThumbShape` constraint is enabled in the connector, the shape specified at the diagram level will be applied to the connector segment thumb. This allows for consistent segment thumb shapes across the entire diagram. The following code example illustrates how to customize orthogonal segment thumb shape using InheritSegmentThumbShape. diff --git a/blazor/diagram/connectors/segments/straight.md b/blazor/diagram/connectors/segments/straight.md index a6cab97f9e..2db5fc3386 100644 --- a/blazor/diagram/connectors/segments/straight.md +++ b/blazor/diagram/connectors/segments/straight.md @@ -102,7 +102,15 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize Straight Segment Thumb Shape -The straight connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles. The Shape property of `SegmentThumbSettings` allows to define the shape of the segment thumb. This feature ensures that the shape will be updated whether or not the `InheritSegmentThumbShape` enum value is added to the Constraints property of the diagram. If you apply `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. The shapes will be visible only when the DragSegmentThumb enum is added to the connector constraints. The following predefined shapes are provided: +The straight connector does not have segments by default, featuring only the source and target thumbs. However, you can create multiple segments between the source and target points by using the `Segments` property. By default, these segments are rendered as circles. + +You can customize the shape of these segment thumbs using the `Shape` property of the `SegmentThumbSettings` class. + +This customization is effective whether or not the `InheritSegmentThumbShape` enum value is included in the `Constraints` property of the diagram. If you apply the `InheritSegmentThumbShape` constraint, the shape specified at the diagram level will be applied to all segment thumbs within the diagram. Without this constraint, the shape will be applied at the individual connector level. + +To ensure that the customized shapes are visible, you must include the `DragSegmentThumb` enum in the connector's constraints. + +The following predefined shapes are available for segment thumbs: | Shape name | Shape | |-------- | -------- | From 8dbe7a8f069ff76bf1e34930b01b11bda6a95f73 Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Fri, 30 Aug 2024 18:57:52 +0530 Subject: [PATCH 06/14] 892868: Tooltip for Port --- blazor/diagram/images/StickyConnector.png | Bin 0 -> 4281 bytes blazor/diagram/images/StickyNode.png | Bin 0 -> 2595 bytes blazor/diagram/ports/interaction.md | 2 + blazor/diagram/tool-tip.md | 84 +++++++++++++++++++++- blazor/diagram/user-handle.md | 1 + 5 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 blazor/diagram/images/StickyConnector.png create mode 100644 blazor/diagram/images/StickyNode.png diff --git a/blazor/diagram/images/StickyConnector.png b/blazor/diagram/images/StickyConnector.png new file mode 100644 index 0000000000000000000000000000000000000000..df7d85de89a751b8e6698137fbdad91cbac91806 GIT binary patch literal 4281 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 literal 0 HcmV?d00001 diff --git a/blazor/diagram/images/StickyNode.png b/blazor/diagram/images/StickyNode.png new file mode 100644 index 0000000000000000000000000000000000000000..c6942455518533dedf55aeebce334a3a8013a847 GIT binary patch literal 2595 zcmeHJ`#%%<8~<1i6BTtNNmI@_R7TOo<%Couw(l3=%Z8#THlr!!vQ1J+(T(am#VHHr ze%V}>RcIm7x0=grs@W*JFhjH3*?E2ch3_xt_4@wsJn!duUa#ku_w&48&y)L4q|b`w z>z4xnR`?z|5D0*dHUtY$J*{^c2xDnM2OsF;1!@L1eA6bnar+Sa0H`l8R37_Dn;Rq@ z3c~}ivhy#~Vd5%|YiljO2lgE~7bzMeV$9|(nX{=|u=*G7lcmoruQ?{bopsA{j=QRd zy{OUg=GH6l(>rfWtbm|r`O33=W%yEWI>v-Ln&9p}pMzP>$0uCaIa(o^bTqzZ4+J203qHZd*}t|c1m-)?;IwkC&jA{jwo?q%*> z%(>eePAk|9Aw`-X)q|e7p3cdfT?{u->Y8-%a}TN{PX3JD*V}wzk>J$wVRcqa^9~}) z=BkMmXox0kpgfg;zwkdpUcOq&4kdP_6 z^s#t(ZlB4FjRvuH+j#7W`l9kCJ{7A75AXsrtr1x1aK}J=LaYZ(X!&k>b*al-uSUG4~>xMx{|~NjsFpPTW5m@8|C?W2)*`W#%}6u5N@{ zZfG`g^XX&O$B%P864_+eDGYtxHAomateZ>+*QgWm^!BmjEEa3K^o%{9V`29<`KoP zRgfIM8c5|9B-=;vN9;KzmDQZn1Ic9S~J!(Lz4_h zEk*)A(jcFf)|fea$$@=Q=DRyyc2eT1F;xEoOXehzcP3v*?f2kxxVra8nLS);@7@G% z{G0=vMO-o0nVw1)oYAllGfA&5=b_B(13G^NWliKR>~B=X(e3E500!?eK}5|n)~;RP zNw<|6&iD9Q^wz7{<+3Bmtu)mpcEGwZ$>`r)ngnZVA%Gp@;tupC! zdpBYse~m{5@{S3R-Espw^b(sr=!@VvqV|a!bRo~@s*t2JLwE3SZ zUuOStCM1B2yG?&T?{Y9CwWUjJ=-{$YHOJE9h5BIjvuE1YBF`26HIk_q z?u4CvQ}HpTaF3tasPYq|akviCj^hUv@gBT3!)V7Y1(p>b1XT_5h7Is-<%7E?W5atH;|1lI5YZ{vTH5x+m?I-4-06ROu`ci->%U{EUVFYWDMo&7W{$N1(}%3)l03Z99)nn zYw|4WRB{$#={N(Maq@a_SaWq`>qw*<@o_&YG@8QB6V}{uWw*99CMW|HLH#a%_t7UQ zg}+j5|HU4#Sy7~(N@O!KbNTlcT|K5B;GmDLl|ZcRmnq6$h*6}?eJ)Y4_vcu;(`kZ< zTzj=g-4&kEe?I^;#L7NEK17Q6vKo*!K(w;4{P)k-9@+FN&T2VIZjE_8soImeEb7jp zC|;|3>5pC?>+@wPiirh;sg5W5iT`~Jr9E}Ds`&m*Xck+a=8#x2)=~Ktr9H@TfV3R~ gpw@q5c;l#mxw@0z4sd!+w2vL|J%~I|<8}1HpT_Jdg8%>k literal 0 HcmV?d00001 diff --git a/blazor/diagram/ports/interaction.md b/blazor/diagram/ports/interaction.md index fa5bcb4909..9078170e30 100644 --- a/blazor/diagram/ports/interaction.md +++ b/blazor/diagram/ports/interaction.md @@ -291,6 +291,8 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![ToolTip During hover the ports with Stikcy Mode](../images/PortIsSticky.png) +For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) + ## See also * [How to create a node](../nodes/nodes) diff --git a/blazor/diagram/tool-tip.md b/blazor/diagram/tool-tip.md index ae0a936885..838a90dfcc 100644 --- a/blazor/diagram/tool-tip.md +++ b/blazor/diagram/tool-tip.md @@ -55,7 +55,7 @@ The following code example illustrates how to customize the tooltip for nodes. } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/TooltipForSpecificNode) -|![ToolTip During hover the node](images/blazor-diagram-nodetooltip.png) +![ToolTip During hover the node](images/blazor-diagram-nodetooltip.png) The following code example illustrates how to customize the tooltip for connectors. @@ -83,7 +83,7 @@ The following code example illustrates how to customize the tooltip for connecto } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/TooltipForSpecificConnector) -|![ToolTip During hover the node](images/blazor-diagram-connectortooltip.png) +![ToolTip During hover the node](images/blazor-diagram-connectortooltip.png) ## How to set tooltip position for nodes/connectors @@ -748,3 +748,83 @@ The following code example illustrates how to set the open mode to the tooltip f ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/TooltipOpenModeForConnector) +## Sticky Mode + +When this mode is set to true, tooltips remain visible on the screen until the close icon is pressed. The close icon is positioned in the top right corner of the tooltip. This mode can be enabled or disabled using the IsSticky property. + +By default, the value of the IsSticky property is set to false. + +The following code example demonstrates how to set the IsSticky property to true for the node: + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Popups +@using Syncfusion.Blazor.Buttons + +@code +{ + //Define diagram's nodes collection + DiagramObjectCollection nodes; + //Reference the diagram + SfDiagramComponent diagram; + protected override void OnInitialized() + { + //Intialize diagram's nodes collection + nodes = new DiagramObjectCollection(); + Node node = new Node() + { + ID = "node1", + OffsetX = 100, + OffsetY = 100, + Width = 100, + Height = 100, + Style = new ShapeStyle() + { + Fill = "#6495ED", + StrokeColor = "white" + }, + Tooltip = new DiagramTooltip() { Content = "Tooltip", IsSticky=true }, + Constraints = NodeConstraints.Default | NodeConstraints.Tooltip, + }; + nodes.Add(node); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/) + +|![ToolTip During hover the node with Stikcy Mode](images/StickyNode.png) | + +The following code example demonstrates how to set the IsSticky property to true for the connector: + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Popups +@using Syncfusion.Blazor.Buttons + +@code +{ + //Define diagram's connectors collection + DiagramObjectCollection connectors; + //Refrence the diagram + SfDiagramComponent diagram; + protected override void OnInitialized() + { + //Intialize diagram's nodes collection + connectors = new DiagramObjectCollection(); + Connector connector = new Connector() + { + ID = "Connector1", + SourcePoint = new DiagramPoint() { X = 100, Y = 200 }, + TargetPoint = new DiagramPoint() { X = 200, Y = 100 }, + Tooltip = new DiagramTooltip() { Content = "Tooltip", IsSticky=true }, + Constraints = ConnectorConstraints.Default | ConnectorConstraints.Tooltip, + }; + connectors.Add(connector); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/) + +|![ToolTip During hover the node with Stikcy Mode](images/StickyConnector.png) | + +For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) \ No newline at end of file diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index cf56e2ccd1..43f7ab94b4 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -1026,6 +1026,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Tooltip for UserHandle](images/FixedUserHandleTooltip.gif) For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) + ## How to set sticky tooltip for fixed user handles With this mode set to `true`, Tooltips for fixed user handles can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. From ec2125ea39f79f0718f745627f2832f609f47481 Mon Sep 17 00:00:00 2001 From: SriRam4552 Date: Fri, 30 Aug 2024 19:40:24 +0530 Subject: [PATCH 07/14] 892868-Port --- .../diagram/connectors/segments/orthogonal.md | 2 +- .../diagram/connectors/segments/straight.md | 2 +- blazor/diagram/grid-lines.md | 2 +- blazor/diagram/ports/interaction.md | 14 +++++++-- blazor/diagram/user-handle.md | 31 +++++++++++++++---- 5 files changed, 39 insertions(+), 12 deletions(-) diff --git a/blazor/diagram/connectors/segments/orthogonal.md b/blazor/diagram/connectors/segments/orthogonal.md index f1fa509c9e..14765bec54 100644 --- a/blazor/diagram/connectors/segments/orthogonal.md +++ b/blazor/diagram/connectors/segments/orthogonal.md @@ -157,7 +157,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ## How to customize Orthogonal Segment Thumb Shape -The [Orthogonal](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Orthogonal) connector in the Syncfusion Blazor Diagram component supports an arbitrary number of segments between its source and target points. By default, these [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) are displayed with a circular shape in grey color. +The [Orthogonal](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Orthogonal) connector in the Syncfusion Blazor Diagram component supports an arbitrary number of segments between its source and target points. By default, these [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) are displayed with a circular shape in Grey color. You can customize the appearance of these segments using the `SegmentThumbSettings` property, which allows you to choose from several predefined shapes. However, to ensure that these shapes are visible, you must include the `DragSegmentThumb` enum in the connector's constraints. diff --git a/blazor/diagram/connectors/segments/straight.md b/blazor/diagram/connectors/segments/straight.md index 2db5fc3386..ebe031b590 100644 --- a/blazor/diagram/connectors/segments/straight.md +++ b/blazor/diagram/connectors/segments/straight.md @@ -11,7 +11,7 @@ documentation: ug ## How to create straight segment -To create a straight line, specify the [Type](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Type) of the segment as [Straight](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Straight) nd add a straight segment to the [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) collection and need to specify Type for the connector. The following code example illustrates how to create a default straight segment. +To create a straight line, specify the [Type](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Type) of the segment as [Straight](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Straight) and add a straight segment to the [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) collection and need to specify Type for the connector. The following code example illustrates how to create a default straight segment. ```cshtml @using Syncfusion.Blazor.Diagram diff --git a/blazor/diagram/grid-lines.md b/blazor/diagram/grid-lines.md index 9646011676..fd43feb2d7 100644 --- a/blazor/diagram/grid-lines.md +++ b/blazor/diagram/grid-lines.md @@ -287,7 +287,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize the Snap line style -The `SnapLineStyle` property allows you to define the style of the snapline used in the diagram. By customizing the SnapLineStyle property, you can enhance the visual contrast and visibility of these guides, making it easier to achieve accurate alignment. Using this property we can customize snap line color, stroke width, stroke dash array and opacity. By default the snap line color is set to `'#07EDE1'`. +The `SnapLineStyle` property allows you to define the style of the snap line used in the diagram. By customizing the SnapLineStyle property, you can enhance the visual contrast and visibility of these guides, making it easier to achieve accurate alignment. Using this property we can customize snap line color, stroke width, stroke dash array and opacity. By default the snap line color is set to `'#07EDE1'`. The following code example illustrates how to customize the snap line style. diff --git a/blazor/diagram/ports/interaction.md b/blazor/diagram/ports/interaction.md index 9078170e30..6c5f1a0f25 100644 --- a/blazor/diagram/ports/interaction.md +++ b/blazor/diagram/ports/interaction.md @@ -163,7 +163,11 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ## How to set tooltip for ports -The diagram provides support to show a tooltip when the mouse hovers over any port. The tooltip can be customized for each port.To achieve this, the tooltip property of the diagram model must be configured to contain the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and to [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. By default, tooltips are not displayed; you need to add the tooltip as shown in the following example. +The Diagram component provides support for showing or hiding tooltips when the mouse hovers over any port. You can customize the tooltip for each port individually. + +To set a tooltip for a port, you need to configure the Tooltip property of the port. This property allows you to define the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. + +By default, tooltips are not displayed. To display a tooltip, you must explicitly configure the tooltip settings for each port as shown in the following example: ```cshtml @@ -238,9 +242,13 @@ For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion ## How to set sticky tooltip for ports -With this mode set to `true`, Tooltips for ports can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. +You can configure tooltips for ports to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. + +To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. + +**Note:** The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. -The following code example demonstrates how to set the IsSticky property to true for the ports: +The following code example demonstrates how to set the `IsSticky` property to `true` for the ports: ```cshtml @using Syncfusion.Blazor.Diagram diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index 43f7ab94b4..332253a8f4 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -522,7 +522,12 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to set tooltip for user handle -The diagram supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, the tooltip property of the diagram model must be configured to contain the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and to [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. This ensures that when users hover over a handle, relevant information is displayed at the correct position relative to the handle. By default, tooltips are not displayed; you need to add the tooltip as shown in the following example. +### How to Set Tooltip for User Handles + +The Diagram component supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, you need to configure the `Tooltip` property of the `UserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. + +By default, tooltips are not displayed. You need to explicitly configure the tooltip settings as shown in the following example: + ```cshtml @using Syncfusion.Blazor.Diagram @@ -569,15 +574,20 @@ The diagram supports displaying tooltips when the mouse hovers over any [UserHan } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/UserHandleTooltip) + ![Tooltip for UserHandle](images/UserHandleTooltip.gif) For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) ### How to set sticky tooltip for user handles -With this mode set to `true`, Tooltips for user handles can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. +You can configure tooltips for user handle to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. + +To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. + +**Note:** The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. -The following code example demonstrates how to set the IsSticky property to true for the user handle: +The following code example demonstrates how to set the `IsSticky` property to `true` for the user handle: ```cshtml @using Syncfusion.Blazor.Diagram @@ -625,6 +635,7 @@ The following code example demonstrates how to set the IsSticky property to true } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandleIsSticky/) + ![ToolTip During hover the ports with Stikcy Mode](images/UserHandleIsSticky.png) For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) @@ -983,7 +994,10 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ## How to set tooltip for Fixed user handle -The diagram supports displaying tooltips when the mouse hovers over any [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html). To achieve this, the tooltip property of the diagram model must be configured to contain the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and to [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. This ensures that when users hover over a fixed user handle, relevant information is displayed at the correct position relative to the handle. By default, tooltips are not displayed; you need to add the tooltip as shown in the following example. +The Diagram component supports displaying tooltips when the mouse hovers over any [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html). To achieve this, you need to configure the `Tooltip` property of the `FixedUserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. + +By default, tooltips are not displayed. You need to explicitly configure the tooltip settings as shown in the following example: + ```cshtml @using Syncfusion.Blazor.Diagram @@ -1029,9 +1043,13 @@ For more information about tooltip, refer to the [Tooltip](https://blazor.syncfu ## How to set sticky tooltip for fixed user handles -With this mode set to `true`, Tooltips for fixed user handles can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. +You can configure tooltips for fixed user handle to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. -The following code example demonstrates how to set the IsSticky property to true for the fixed user handle: +To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. + +**Note:** The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. + +The following code example demonstrates how to set the `IsSticky` property to `true` for the fixed user handle: ```cshtml @using Syncfusion.Blazor.Diagram @@ -1072,6 +1090,7 @@ The following code example demonstrates how to set the IsSticky property to true } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleIsSticky) + ![ToolTip During hover the ports with Stikcy Mode](images/FixedUserHandleIsSticky.png) For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) From 36d49e924860ad99b713018d0a0a5e6d966b0899 Mon Sep 17 00:00:00 2001 From: SriRam4552 Date: Fri, 30 Aug 2024 19:54:03 +0530 Subject: [PATCH 08/14] 892868-Port --- blazor/diagram/ports/interaction.md | 2 +- blazor/diagram/tool-tip.md | 12 ++++++++---- blazor/diagram/user-handle.md | 5 +++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/blazor/diagram/ports/interaction.md b/blazor/diagram/ports/interaction.md index 6c5f1a0f25..6c9ad27ca4 100644 --- a/blazor/diagram/ports/interaction.md +++ b/blazor/diagram/ports/interaction.md @@ -246,7 +246,7 @@ You can configure tooltips for ports to remain visible until the close icon is p To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. -**Note:** The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. +N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. The following code example demonstrates how to set the `IsSticky` property to `true` for the ports: diff --git a/blazor/diagram/tool-tip.md b/blazor/diagram/tool-tip.md index 838a90dfcc..b3b8ac9b3c 100644 --- a/blazor/diagram/tool-tip.md +++ b/blazor/diagram/tool-tip.md @@ -55,6 +55,7 @@ The following code example illustrates how to customize the tooltip for nodes. } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/TooltipForSpecificNode) + ![ToolTip During hover the node](images/blazor-diagram-nodetooltip.png) The following code example illustrates how to customize the tooltip for connectors. @@ -83,6 +84,7 @@ The following code example illustrates how to customize the tooltip for connecto } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/TooltipForSpecificConnector) + ![ToolTip During hover the node](images/blazor-diagram-connectortooltip.png) ## How to set tooltip position for nodes/connectors @@ -750,11 +752,13 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ## Sticky Mode -When this mode is set to true, tooltips remain visible on the screen until the close icon is pressed. The close icon is positioned in the top right corner of the tooltip. This mode can be enabled or disabled using the IsSticky property. +You can configure tooltips for nodes and connectors to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. + +To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. -By default, the value of the IsSticky property is set to false. +N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. -The following code example demonstrates how to set the IsSticky property to true for the node: +The following code example demonstrates how to set the `IsSticky` property to `true` for the node: ```cshtml @using Syncfusion.Blazor.Diagram @@ -794,7 +798,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync |![ToolTip During hover the node with Stikcy Mode](images/StickyNode.png) | -The following code example demonstrates how to set the IsSticky property to true for the connector: +The following code example demonstrates how to set the `IsSticky` property to `true` for the connector: ```cshtml @using Syncfusion.Blazor.Diagram diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index 332253a8f4..6eb5542a63 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -585,7 +585,7 @@ You can configure tooltips for user handle to remain visible until the close ico To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. -**Note:** The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. +N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. The following code example demonstrates how to set the `IsSticky` property to `true` for the user handle: @@ -1037,6 +1037,7 @@ By default, tooltips are not displayed. You need to explicitly configure the too } ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleTooltip) + ![Tooltip for UserHandle](images/FixedUserHandleTooltip.gif) For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) @@ -1047,7 +1048,7 @@ You can configure tooltips for fixed user handle to remain visible until the clo To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. -**Note:** The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. +N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. The following code example demonstrates how to set the `IsSticky` property to `true` for the fixed user handle: From 35beba778343c27b221d5743fc7e17918e0b1f98 Mon Sep 17 00:00:00 2001 From: SriRam4552 Date: Mon, 2 Sep 2024 10:43:43 +0530 Subject: [PATCH 09/14] 892868-Tooltip --- blazor/diagram/user-handle.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index 6eb5542a63..8cb0843c7a 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -520,8 +520,6 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Template for UserHandle](images/UserHandleTemplate.gif) -### How to set tooltip for user handle - ### How to Set Tooltip for User Handles The Diagram component supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, you need to configure the `Tooltip` property of the `UserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. From 7c1c07e28e0c34a02fd6b04cc7a9d0a372a85313 Mon Sep 17 00:00:00 2001 From: SriRam4552 Date: Mon, 2 Sep 2024 10:50:09 +0530 Subject: [PATCH 10/14] 892868-Tooltips --- blazor/diagram/user-handle.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index 8cb0843c7a..e9945174dc 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -520,7 +520,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Template for UserHandle](images/UserHandleTemplate.gif) -### How to Set Tooltip for User Handles +### How to Set tooltip for user handles The Diagram component supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, you need to configure the `Tooltip` property of the `UserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. @@ -990,7 +990,7 @@ You can define fixed user handle style using a template in the [FixedUserHandleT You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/CustomizeFixedUserHandle) ![Template for FixedUserHandle](images/FixedUserTemplate.png) -## How to set tooltip for Fixed user handle +## How to set tooltip for fixed user handle The Diagram component supports displaying tooltips when the mouse hovers over any [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html). To achieve this, you need to configure the `Tooltip` property of the `FixedUserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. From c7a85d45338d04793de28ee67c2959fcd5cf6d8d Mon Sep 17 00:00:00 2001 From: SriRam4552 Date: Mon, 2 Sep 2024 10:51:36 +0530 Subject: [PATCH 11/14] 892868-Fonts --- blazor/diagram/user-handle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index e9945174dc..dfe44d3bf4 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -520,7 +520,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Template for UserHandle](images/UserHandleTemplate.gif) -### How to Set tooltip for user handles +### How to set tooltip for user handles The Diagram component supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, you need to configure the `Tooltip` property of the `UserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. From d6444a63d374dc89f51a5b5551e64dee395c1c2f Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Thu, 19 Sep 2024 11:04:32 +0530 Subject: [PATCH 12/14] 892868: Tooltip for Port --- .../connectors/segments/bezier/bezier.md | 13 +- .../diagram/connectors/segments/orthogonal.md | 8 +- .../diagram/connectors/segments/straight.md | 11 +- blazor/diagram/grid-lines.md | 2 +- blazor/diagram/ports/interaction.md | 139 ------- blazor/diagram/tool-tip.md | 345 +++++++++++++++++- blazor/diagram/user-handle.md | 221 ----------- 7 files changed, 366 insertions(+), 373 deletions(-) diff --git a/blazor/diagram/connectors/segments/bezier/bezier.md b/blazor/diagram/connectors/segments/bezier/bezier.md index 5428ba712b..d0dbaa5359 100644 --- a/blazor/diagram/connectors/segments/bezier/bezier.md +++ b/blazor/diagram/connectors/segments/bezier/bezier.md @@ -246,11 +246,13 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize Bezier Segment Thumb Shape -The bezier connector can have any number of segments in between the source and the target point. By default, these segments are rendered as circles . The `Shape` property of `SegmentThumbSettings` allows to define the shape of the segment thumb. +The Bezier connector can have multiple segments between the source and target points. By default, these segments are rendered as circles, but this can be customized either globally or for individual connectors using the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) class. - This feature ensures that the shape is updated regardless of whether the `InheritSegmentThumbShape` enum value is added to the `Constraints` property of the diagram. If you apply the `InheritSegmentThumbShape` constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. +To change the segment thumb shape for all Bezier connectors, configure the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) property of the SfDiagramComponent class and set the Shape property to the desired shape. - To make the shapes visible, ensure that the `DragSegmentThumb` enum is added to the connector's constraints. The following predefined shapes are provided: +To customize the segment thumb shape for a specific connector, first disable the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) constraint. Then, configure the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) property of the Connector class, specifying the desired shape using the [Shape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html#Syncfusion_Blazor_Diagram_SegmentThumbSettings_Shape) property of the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) class. + +The following predefined shapes are provided: | Shape name | Shape | |-------- | -------- | @@ -347,4 +349,7 @@ The following code example illustrates how to create a customized bezier segment ``` You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/SegmentShape). -![Connector with Bezier Segment Shape and Style in Blazor Diagram](../../../images/BezierSegmentShape1.png) \ No newline at end of file +![Connector with Bezier Segment Shape and Style in Blazor Diagram](../../../images/BezierSegmentShape1.png) + +>Note: This feature ensures that the shape is updated regardless of whether the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) enum value is added to the [Constraints](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Constraints) property of the diagram. If you apply the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. + To make the shapes visible, ensure that the [DragSegmentThumb](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_DragSegmentThumb) enum is added to the connector's constraints. \ No newline at end of file diff --git a/blazor/diagram/connectors/segments/orthogonal.md b/blazor/diagram/connectors/segments/orthogonal.md index 14765bec54..ca7ce37387 100644 --- a/blazor/diagram/connectors/segments/orthogonal.md +++ b/blazor/diagram/connectors/segments/orthogonal.md @@ -157,9 +157,11 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ## How to customize Orthogonal Segment Thumb Shape -The [Orthogonal](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorSegmentType.html#Syncfusion_Blazor_Diagram_ConnectorSegmentType_Orthogonal) connector in the Syncfusion Blazor Diagram component supports an arbitrary number of segments between its source and target points. By default, these [Segments](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Segments) are displayed with a circular shape in Grey color. +The Orthogonal connector can have multiple segments between the source and target points. By default, these segments are rendered as circles, but this can be customized either globally or for individual connectors using the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) class. -You can customize the appearance of these segments using the `SegmentThumbSettings` property, which allows you to choose from several predefined shapes. However, to ensure that these shapes are visible, you must include the `DragSegmentThumb` enum in the connector's constraints. +To change the segment thumb shape for all Orthogonal connectors, configure the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) property of the SfDiagramComponent class and set the Shape property to the desired shape. + +To customize the segment thumb shape for a specific connector, first disable the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) constraint. Then, configure the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) property of the Connector class, specifying the desired shape using the [Shape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html#Syncfusion_Blazor_Diagram_SegmentThumbSettings_Shape) property of the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) class. The following predefined shapes are available for segment thumbs: @@ -238,3 +240,5 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Editing Orthogonal Segment in Blazor Diagram](../../images/OrthogonalThumbSettings1.png) +>Note: This feature ensures that the shape is updated regardless of whether the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) enum value is added to the [Constraints](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Constraints) property of the diagram. If you apply the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. + To make the shapes visible, ensure that the [DragSegmentThumb](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_DragSegmentThumb) enum is added to the connector's constraints. diff --git a/blazor/diagram/connectors/segments/straight.md b/blazor/diagram/connectors/segments/straight.md index ebe031b590..a323325c81 100644 --- a/blazor/diagram/connectors/segments/straight.md +++ b/blazor/diagram/connectors/segments/straight.md @@ -102,13 +102,11 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize Straight Segment Thumb Shape -The straight connector does not have segments by default, featuring only the source and target thumbs. However, you can create multiple segments between the source and target points by using the `Segments` property. By default, these segments are rendered as circles. +The Straight connector can have multiple segments between the source and target points. By default, these segments are rendered as circles, but this can be customized either globally or for individual connectors using the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) class. -You can customize the shape of these segment thumbs using the `Shape` property of the `SegmentThumbSettings` class. +To change the segment thumb shape for all Straight connectors, configure the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) property of the SfDiagramComponent class and set the Shape property to the desired shape. -This customization is effective whether or not the `InheritSegmentThumbShape` enum value is included in the `Constraints` property of the diagram. If you apply the `InheritSegmentThumbShape` constraint, the shape specified at the diagram level will be applied to all segment thumbs within the diagram. Without this constraint, the shape will be applied at the individual connector level. - -To ensure that the customized shapes are visible, you must include the `DragSegmentThumb` enum in the connector's constraints. +To customize the segment thumb shape for a specific connector, first disable the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) constraint. Then, configure the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) property of the Connector class, specifying the desired shape using the [Shape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html#Syncfusion_Blazor_Diagram_SegmentThumbSettings_Shape) property of the [SegmentThumbSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SegmentThumbSettings.html) class. The following predefined shapes are available for segment thumbs: @@ -204,3 +202,6 @@ The following code example illustrates how to create a customized bezier segment You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/SegmentShape) ![Connector with Straight Segment Shape and Style in Blazor Diagram](../../images/StraightSegmentShape1.png) + +>Note: This feature ensures that the shape is updated regardless of whether the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) enum value is added to the [Constraints](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.Connector.html#Syncfusion_Blazor_Diagram_Connector_Constraints) property of the diagram. If you apply the [InheritSegmentThumbShape](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_InheritSegmentThumbShape) constraints, the shape will be updated at the diagram level. Without these constraints, the shape will be updated at the connector level. + To make the shapes visible, ensure that the [DragSegmentThumb](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.ConnectorConstraints.html#Syncfusion_Blazor_Diagram_ConnectorConstraints_DragSegmentThumb) enum is added to the connector's constraints. diff --git a/blazor/diagram/grid-lines.md b/blazor/diagram/grid-lines.md index fd43feb2d7..1ca9b6a8cc 100644 --- a/blazor/diagram/grid-lines.md +++ b/blazor/diagram/grid-lines.md @@ -287,7 +287,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ### How to customize the Snap line style -The `SnapLineStyle` property allows you to define the style of the snap line used in the diagram. By customizing the SnapLineStyle property, you can enhance the visual contrast and visibility of these guides, making it easier to achieve accurate alignment. Using this property we can customize snap line color, stroke width, stroke dash array and opacity. By default the snap line color is set to `'#07EDE1'`. +The [SnapLineStyle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SnapSettings.html#Syncfusion_Blazor_Diagram_SnapSettings_SnapLineStyle) property of the [SnapSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SnapSettings.html) class allows you to adjust the appearance of snapping lines to enhance visibility or match specific aesthetic preferences. By customizing this property, you can modify the color, stroke width, stroke dash array, and opacity of the snap lines. These adjustments improve visual contrast, making it easier to align objects with precision. By default, the snap line color is set to '#07EDE1'. The following code example illustrates how to customize the snap line style. diff --git a/blazor/diagram/ports/interaction.md b/blazor/diagram/ports/interaction.md index 6c9ad27ca4..a5a9ac515e 100644 --- a/blazor/diagram/ports/interaction.md +++ b/blazor/diagram/ports/interaction.md @@ -161,145 +161,6 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Drawing Bezier Port Connection in Blazor Diagram](../images/blazor-diagram-draw-port-connection-bezier.gif) -## How to set tooltip for ports - -The Diagram component provides support for showing or hiding tooltips when the mouse hovers over any port. You can customize the tooltip for each port individually. - -To set a tooltip for a port, you need to configure the Tooltip property of the port. This property allows you to define the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. - -By default, tooltips are not displayed. To display a tooltip, you must explicitly configure the tooltip settings for each port as shown in the following example: - - -```cshtml -@using Syncfusion.Blazor.Diagram - -@code -{ - DiagramObjectCollection nodes; - - protected override void OnInitialized() - { - nodes = new DiagramObjectCollection(); - Node node = new Node() - { - ID = "node1", - OffsetX = 250, - OffsetY = 250, - Width = 100, - Height = 100, - Style = new ShapeStyle() - { - Fill = "#6495ED", - StrokeColor = "white" - }, - Ports = new DiagramObjectCollection() - { - new PointPort(){ - ID="Port1", - Style = new ShapeStyle(){ Fill = "gray" }, - Offset = new DiagramPoint() { X = 1, Y = 0.5 }, - Visibility = PortVisibility.Visible, - Tooltip = new DiagramTooltip(){ Content = "OutConnectPort"}, - Constraints = PortConstraints.Default | PortConstraints.Draw - } - } - }; - nodes.Add(node); - Node node2 = new Node() - { - ID = "node2", - OffsetX = 450, - OffsetY = 250, - Width = 100, - Height = 100, - Style = new ShapeStyle() - { - Fill = "#6495ED", - StrokeColor = "white" - }, - Ports = new DiagramObjectCollection() - { - new PointPort() - { - ID="Port2", - Style = new ShapeStyle(){ Fill = "gray" }, - Offset = new DiagramPoint() { X = 0, Y = 0.5}, - Visibility = PortVisibility.Visible, - Tooltip = new DiagramTooltip(){ Content = "InConnectPort"}, - Constraints = PortConstraints.Default | PortConstraints.Draw - } - } - }; - nodes.Add(node2); - } -} -``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Ports/ActionofPorts/TooltipForSpecificPort) - -![ToolTip During hover the port](../images/PortTooltip.gif ) - -For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) - -## How to set sticky tooltip for ports - -You can configure tooltips for ports to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. - -To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. - -N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. - -The following code example demonstrates how to set the `IsSticky` property to `true` for the ports: - -```cshtml -@using Syncfusion.Blazor.Diagram -@using Syncfusion.Blazor.Popups -@using Syncfusion.Blazor.Buttons - -@code -{ - //Define diagram's nodes collection - DiagramObjectCollection nodes; - //Reference the diagram - SfDiagramComponent diagram; - protected override void OnInitialized() - { - //Intialize diagram's nodes collection - nodes = new DiagramObjectCollection(); - Node node = new Node() - { - ID = "node1", - OffsetX = 100, - OffsetY = 100, - Width = 100, - Height = 100, - Style = new ShapeStyle() - { - Fill = "#6495ED", - StrokeColor = "white" - }, - Tooltip = new DiagramTooltip() { Content = "NodeContent", IsSticky = true }, - Constraints = NodeConstraints.Default | NodeConstraints.Tooltip, - Ports = new DiagramObjectCollection() - { - new PointPort(){ - ID="Port1", - Style = new ShapeStyle(){ Fill = "gray" }, - Offset = new DiagramPoint() { X = 1, Y = 0.5 }, - Visibility = PortVisibility.Visible, - Tooltip = new DiagramTooltip(){ Content = "PortContent" , IsSticky = true}, - Constraints = PortConstraints.Default | PortConstraints.Draw - } - }, - }; - nodes.Add(node); - } -} -``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/) - -![ToolTip During hover the ports with Stikcy Mode](../images/PortIsSticky.png) - -For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) ## See also diff --git a/blazor/diagram/tool-tip.md b/blazor/diagram/tool-tip.md index b3b8ac9b3c..41d9c0db35 100644 --- a/blazor/diagram/tool-tip.md +++ b/blazor/diagram/tool-tip.md @@ -831,4 +831,347 @@ You can download a complete working sample from [GitHub](https://github.com/Sync |![ToolTip During hover the node with Stikcy Mode](images/StickyConnector.png) | -For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) \ No newline at end of file +For more information about tooltip, refer to [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) + +### How to set tooltip for user handles + +The Diagram component supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, you need to configure the `Tooltip` property of the `UserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. + +By default, tooltips are not displayed. You need to explicitly configure the tooltip settings as shown in the following example: + +```cshtml +@using Syncfusion.Blazor.Diagram + + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + DiagramSelectionSettings SelectedModel = new DiagramSelectionSettings(); + DiagramObjectCollection UserHandles = new DiagramObjectCollection(); + protected override void OnInitialized() + { + UserHandle cloneHandle = new UserHandle() + { + Name = "clone", + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Visible = true, + Offset = 0, + Side = Direction.Right, + Margin = new DiagramThickness() { Top = 0, Bottom = 0, Left = 0, Right = 0 }, + Tooltip = new DiagramTooltip() { Content = "CloneNode" } + }; + UserHandles = new DiagramObjectCollection() + { + cloneHandle + }; + SelectedModel.UserHandles = UserHandles; + nodes = new DiagramObjectCollection(); + Node diagramNode = new Node() + { + ID = "node1", + OffsetX = 100, + OffsetY = 100, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "none" }, + Annotations = new DiagramObjectCollection() { new ShapeAnnotation { Content = "Node" } } + }; + nodes.Add(diagramNode); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/UserHandleTooltip) + +![Tooltip for UserHandle](images/UserHandleTooltip.gif) + +### How to set sticky tooltip for user handles + +You can configure tooltips for user handle to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. + +To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. + +N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. + +The following code example demonstrates how to set the `IsSticky` property to `true` for the user handle: + +```cshtml +@using Syncfusion.Blazor.Diagram + + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + DiagramSelectionSettings SelectedModel = new DiagramSelectionSettings(); + DiagramObjectCollection UserHandles = new DiagramObjectCollection(); + protected override void OnInitialized() + { + UserHandle cloneHandle = new UserHandle() + { + Name = "clone", + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Visible = true, + Offset = 0, + Side = Direction.Right, + Margin = new DiagramThickness() { Top = 0, Bottom = 0, Left = 0, Right = 0 }, + Tooltip = new DiagramTooltip() { Content = "CloneNode",IsSticky = true } + }; + UserHandles = new DiagramObjectCollection() + { + cloneHandle + }; + SelectedModel.UserHandles = UserHandles; + nodes = new DiagramObjectCollection(); + Node diagramNode = new Node() + { + ID = "node1", + OffsetX = 100, + OffsetY = 100, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "none" }, + Annotations = new DiagramObjectCollection() { new ShapeAnnotation { Content = "Node" } } + }; + nodes.Add(diagramNode); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandleIsSticky/) + +![ToolTip During hover the ports with Stikcy Mode](images/UserHandleIsSticky.png) + +## How to set tooltip for Fixed user handle + +The diagram supports displaying tooltips when the mouse hovers over any [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html). To achieve this, the tooltip property of the diagram model must be configured to contain the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and to [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. This ensures that when users hover over a fixed user handle, relevant information is displayed at the correct position relative to the handle. By default, tooltips are not displayed; you need to add the tooltip as shown in the following example. +```cshtml +@using Syncfusion.Blazor.Diagram + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + + protected override void OnInitialized() + { + nodes = new DiagramObjectCollection(); + Node node1 = new Node() + { + OffsetX = 250, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "white" }, + FixedUserHandles = new DiagramObjectCollection() + { + new NodeFixedUserHandle() + { + ID = "user1", + Height = 20, + Width = 20, + Visibility = true, + Padding = new DiagramThickness() { Bottom = 1, Left = 1, Right = 1, Top = 1 }, + Margin = new DiagramThickness() { Right = 20 }, Offset = new DiagramPoint() { X = 0 , Y = 0 }, + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Tooltip = new DiagramTooltip(){Content="CloneNode", Position=Position.BottomLeft}, + }, + } + }; + nodes.Add(node1); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleTooltip) +![Tooltip for UserHandle](images/FixedUserHandleTooltip.gif) + +## How to set sticky tooltip for fixed user handles + +With this mode set to `true`, Tooltips for fixed user handles can be made to show up on the screen as long as the close icon is pressed. In this mode, close icon is attached to the Tooltip located at the top right corner. This mode can be enabled or disabled using the `IsSticky` property in tooltip. By default, the value of the IsSticky property is set to false. + +The following code example demonstrates how to set the IsSticky property to true for the fixed user handle: + +```cshtml +@using Syncfusion.Blazor.Diagram + + + +@code +{ + DiagramObjectCollection nodes = new DiagramObjectCollection(); + + protected override void OnInitialized() + { + nodes = new DiagramObjectCollection(); + Node node1 = new Node() + { + OffsetX = 250, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "white" }, + FixedUserHandles = new DiagramObjectCollection() + { + new NodeFixedUserHandle() + { + ID = "user1", + Height = 20, + Width = 20, + Visibility = true, + Padding = new DiagramThickness() { Bottom = 1, Left = 1, Right = 1, Top = 1 }, + Margin = new DiagramThickness() { Right = 20 }, Offset = new DiagramPoint() { X = 0 , Y = 0 }, + PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", + Tooltip = new DiagramTooltip(){Content="CloneNode", IsSticky=true}, + }, + } + }; + nodes.Add(node1); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleIsSticky) +![ToolTip During hover the ports with Stikcy Mode](images/FixedUserHandleIsSticky.png) + +## How to set tooltip for ports + +The Diagram component provides support for showing or hiding tooltips when the mouse hovers over any port. You can customize the tooltip for each port individually. + +To set a tooltip for a port, you need to configure the Tooltip property of the port. This property allows you to define the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) it appropriately. + +By default, tooltips are not displayed. To display a tooltip, you must explicitly configure the tooltip settings for each port as shown in the following example: + + +```cshtml +@using Syncfusion.Blazor.Diagram + +@code +{ + DiagramObjectCollection nodes; + + protected override void OnInitialized() + { + nodes = new DiagramObjectCollection(); + Node node = new Node() + { + ID = "node1", + OffsetX = 250, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() + { + Fill = "#6495ED", + StrokeColor = "white" + }, + Ports = new DiagramObjectCollection() + { + new PointPort(){ + ID="Port1", + Style = new ShapeStyle(){ Fill = "gray" }, + Offset = new DiagramPoint() { X = 1, Y = 0.5 }, + Visibility = PortVisibility.Visible, + Tooltip = new DiagramTooltip(){ Content = "OutConnectPort"}, + Constraints = PortConstraints.Default | PortConstraints.Draw + } + } + }; + nodes.Add(node); + Node node2 = new Node() + { + ID = "node2", + OffsetX = 450, + OffsetY = 250, + Width = 100, + Height = 100, + Style = new ShapeStyle() + { + Fill = "#6495ED", + StrokeColor = "white" + }, + Ports = new DiagramObjectCollection() + { + new PointPort() + { + ID="Port2", + Style = new ShapeStyle(){ Fill = "gray" }, + Offset = new DiagramPoint() { X = 0, Y = 0.5}, + Visibility = PortVisibility.Visible, + Tooltip = new DiagramTooltip(){ Content = "InConnectPort"}, + Constraints = PortConstraints.Default | PortConstraints.Draw + } + } + }; + nodes.Add(node2); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Ports/ActionofPorts/TooltipForSpecificPort) + +![ToolTip During hover the port](../images/PortTooltip.gif ) + +## How to set sticky tooltip for ports + +You can configure tooltips for ports to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. + +To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. + +N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. + +The following code example demonstrates how to set the `IsSticky` property to `true` for the ports: + +```cshtml +@using Syncfusion.Blazor.Diagram +@using Syncfusion.Blazor.Popups +@using Syncfusion.Blazor.Buttons + +@code +{ + //Define diagram's nodes collection + DiagramObjectCollection nodes; + //Reference the diagram + SfDiagramComponent diagram; + protected override void OnInitialized() + { + //Intialize diagram's nodes collection + nodes = new DiagramObjectCollection(); + Node node = new Node() + { + ID = "node1", + OffsetX = 100, + OffsetY = 100, + Width = 100, + Height = 100, + Style = new ShapeStyle() + { + Fill = "#6495ED", + StrokeColor = "white" + }, + Tooltip = new DiagramTooltip() { Content = "NodeContent", IsSticky = true }, + Constraints = NodeConstraints.Default | NodeConstraints.Tooltip, + Ports = new DiagramObjectCollection() + { + new PointPort(){ + ID="Port1", + Style = new ShapeStyle(){ Fill = "gray" }, + Offset = new DiagramPoint() { X = 1, Y = 0.5 }, + Visibility = PortVisibility.Visible, + Tooltip = new DiagramTooltip(){ Content = "PortContent" , IsSticky = true}, + Constraints = PortConstraints.Default | PortConstraints.Draw + } + }, + }; + nodes.Add(node); + } +} +``` +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Tooltip/) + +![ToolTip During hover the ports with Stikcy Mode](../images/PortIsSticky.png) + + diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index dfe44d3bf4..7183922604 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -520,124 +520,6 @@ You can download a complete working sample from [GitHub](https://github.com/Sync ![Template for UserHandle](images/UserHandleTemplate.gif) -### How to set tooltip for user handles - -The Diagram component supports displaying tooltips when the mouse hovers over any [UserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.SelectorConstraints.html#Syncfusion_Blazor_Diagram_SelectorConstraints_UserHandle). To achieve this, you need to configure the `Tooltip` property of the `UserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. - -By default, tooltips are not displayed. You need to explicitly configure the tooltip settings as shown in the following example: - -```cshtml -@using Syncfusion.Blazor.Diagram - - - - -@code -{ - DiagramObjectCollection nodes = new DiagramObjectCollection(); - DiagramSelectionSettings SelectedModel = new DiagramSelectionSettings(); - DiagramObjectCollection UserHandles = new DiagramObjectCollection(); - protected override void OnInitialized() - { - UserHandle cloneHandle = new UserHandle() - { - Name = "clone", - PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", - Visible = true, - Offset = 0, - Side = Direction.Right, - Margin = new DiagramThickness() { Top = 0, Bottom = 0, Left = 0, Right = 0 }, - Tooltip = new DiagramTooltip() { Content = "CloneNode" } - }; - UserHandles = new DiagramObjectCollection() - { - cloneHandle - }; - SelectedModel.UserHandles = UserHandles; - nodes = new DiagramObjectCollection(); - Node diagramNode = new Node() - { - ID = "node1", - OffsetX = 100, - OffsetY = 100, - Width = 100, - Height = 100, - Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "none" }, - Annotations = new DiagramObjectCollection() { new ShapeAnnotation { Content = "Node" } } - }; - nodes.Add(diagramNode); - } -} -``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/UserHandleTooltip) - -![Tooltip for UserHandle](images/UserHandleTooltip.gif) - -For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) - -### How to set sticky tooltip for user handles - -You can configure tooltips for user handle to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. - -To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. - -N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. - -The following code example demonstrates how to set the `IsSticky` property to `true` for the user handle: - -```cshtml -@using Syncfusion.Blazor.Diagram - - - - -@code -{ - DiagramObjectCollection nodes = new DiagramObjectCollection(); - DiagramSelectionSettings SelectedModel = new DiagramSelectionSettings(); - DiagramObjectCollection UserHandles = new DiagramObjectCollection(); - protected override void OnInitialized() - { - UserHandle cloneHandle = new UserHandle() - { - Name = "clone", - PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", - Visible = true, - Offset = 0, - Side = Direction.Right, - Margin = new DiagramThickness() { Top = 0, Bottom = 0, Left = 0, Right = 0 }, - Tooltip = new DiagramTooltip() { Content = "CloneNode",IsSticky = true } - }; - UserHandles = new DiagramObjectCollection() - { - cloneHandle - }; - SelectedModel.UserHandles = UserHandles; - nodes = new DiagramObjectCollection(); - Node diagramNode = new Node() - { - ID = "node1", - OffsetX = 100, - OffsetY = 100, - Width = 100, - Height = 100, - Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "none" }, - Annotations = new DiagramObjectCollection() { new ShapeAnnotation { Content = "Node" } } - }; - nodes.Add(diagramNode); - } -} -``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandleIsSticky/) - -![ToolTip During hover the ports with Stikcy Mode](images/UserHandleIsSticky.png) - -For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) - ## Fixed user handles The [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html) is used to add some frequently used commands around the node and connector even without selecting it. @@ -990,109 +872,6 @@ You can define fixed user handle style using a template in the [FixedUserHandleT You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/CustomizeFixedUserHandle) ![Template for FixedUserHandle](images/FixedUserTemplate.png) -## How to set tooltip for fixed user handle - -The Diagram component supports displaying tooltips when the mouse hovers over any [FixedUserHandle](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.FixedUserHandle.html). To achieve this, you need to configure the `Tooltip` property of the `FixedUserHandle` to include the tooltip [Content](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Content) and set its [Position](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Diagram.DiagramTooltip.html#Syncfusion_Blazor_Diagram_DiagramTooltip_Position) appropriately. This configuration ensures that relevant information is displayed at the correct position relative to the handle when users hover over it. - -By default, tooltips are not displayed. You need to explicitly configure the tooltip settings as shown in the following example: - -```cshtml -@using Syncfusion.Blazor.Diagram - - - -@code -{ - DiagramObjectCollection nodes = new DiagramObjectCollection(); - - protected override void OnInitialized() - { - nodes = new DiagramObjectCollection(); - Node node1 = new Node() - { - OffsetX = 250, - OffsetY = 250, - Width = 100, - Height = 100, - Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "white" }, - FixedUserHandles = new DiagramObjectCollection() - { - new NodeFixedUserHandle() - { - ID = "user1", - Height = 20, - Width = 20, - Visibility = true, - Padding = new DiagramThickness() { Bottom = 1, Left = 1, Right = 1, Top = 1 }, - Margin = new DiagramThickness() { Right = 20 }, Offset = new DiagramPoint() { X = 0 , Y = 0 }, - PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", - Tooltip = new DiagramTooltip(){Content="CloneNode", Position=Position.BottomLeft}, - }, - } - }; - nodes.Add(node1); - } -} -``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleTooltip) - -![Tooltip for UserHandle](images/FixedUserHandleTooltip.gif) - -For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) - -## How to set sticky tooltip for fixed user handles - -You can configure tooltips for fixed user handle to remain visible until the close icon is pressed. This feature is known as a "sticky" tooltip. When sticky mode is enabled, a close icon appears at the top right corner of the tooltip, allowing users to manually close it. - -To enable or disable this sticky mode, use the `IsSticky` property in the tooltip configuration. By default, the `IsSticky` property is set to `false`. - -N> The tooltip will have an open and close state whenever the mouse hovers over different diagram elements. Only one "sticky" tooltip can be visible in the diagram at a time. - -The following code example demonstrates how to set the `IsSticky` property to `true` for the fixed user handle: - -```cshtml -@using Syncfusion.Blazor.Diagram - - - -@code -{ - DiagramObjectCollection nodes = new DiagramObjectCollection(); - - protected override void OnInitialized() - { - nodes = new DiagramObjectCollection(); - Node node1 = new Node() - { - OffsetX = 250, - OffsetY = 250, - Width = 100, - Height = 100, - Style = new ShapeStyle() { Fill = "#6495ED", StrokeColor = "white" }, - FixedUserHandles = new DiagramObjectCollection() - { - new NodeFixedUserHandle() - { - ID = "user1", - Height = 20, - Width = 20, - Visibility = true, - Padding = new DiagramThickness() { Bottom = 1, Left = 1, Right = 1, Top = 1 }, - Margin = new DiagramThickness() { Right = 20 }, Offset = new DiagramPoint() { X = 0 , Y = 0 }, - PathData = "M60.3,18H27.5c-3,0-5.5,2.4-5.5,5.5v38.2h5.5V23.5h32.7V18z M68.5,28.9h-30c-3,0-5.5,2.4-5.5,5.5v38.2c0,3,2.4,5.5,5.5,5.5h30c3,0,5.5-2.4,5.5-5.5V34.4C73.9,31.4,71.5,28.9,68.5,28.9z M68.5,72.5h-30V34.4h30V72.5z", - Tooltip = new DiagramTooltip(){Content="CloneNode", IsSticky=true}, - }, - } - }; - nodes.Add(node1); - } -} -``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/FixedUserHandleIsSticky) - -![ToolTip During hover the ports with Stikcy Mode](images/FixedUserHandleIsSticky.png) - -For more information about tooltip, refer to the [Tooltip](https://blazor.syncfusion.com/documentation/diagram/tool-tip) ## FixedUserHandle event From 3ac1e0f7fdfc616ca96841c95940e036c3e5aa8a Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Thu, 19 Sep 2024 11:42:42 +0530 Subject: [PATCH 13/14] 892868: Tooltip for Port --- blazor/diagram/ports/interaction.md | 2 -- blazor/diagram/user-handle.md | 1 - 2 files changed, 3 deletions(-) diff --git a/blazor/diagram/ports/interaction.md b/blazor/diagram/ports/interaction.md index a5a9ac515e..6f1568fd32 100644 --- a/blazor/diagram/ports/interaction.md +++ b/blazor/diagram/ports/interaction.md @@ -160,8 +160,6 @@ The following code explains how to draw the connector by using the port constrai You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Ports/Interaction/DrawConstraintsWithDrawingObject). ![Drawing Bezier Port Connection in Blazor Diagram](../images/blazor-diagram-draw-port-connection-bezier.gif) - - ## See also * [How to create a node](../nodes/nodes) diff --git a/blazor/diagram/user-handle.md b/blazor/diagram/user-handle.md index 7183922604..7bf007af2b 100644 --- a/blazor/diagram/user-handle.md +++ b/blazor/diagram/user-handle.md @@ -872,7 +872,6 @@ You can define fixed user handle style using a template in the [FixedUserHandleT You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/UserHandle/CustomizeFixedUserHandle) ![Template for FixedUserHandle](images/FixedUserTemplate.png) - ## FixedUserHandle event The Diagram control provides the following event for the fixed user handle. From 70084e42fa4c21714477988ada2a5f763188cd64 Mon Sep 17 00:00:00 2001 From: RamyaSF4537 <163090322+RamyaSF4537@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:46:58 +0530 Subject: [PATCH 14/14] 892868: Tooltip for Port --- blazor/diagram/connectors/segments/bezier/bezier.md | 4 ++-- blazor/diagram/connectors/segments/straight.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/blazor/diagram/connectors/segments/bezier/bezier.md b/blazor/diagram/connectors/segments/bezier/bezier.md index d0dbaa5359..35087320e5 100644 --- a/blazor/diagram/connectors/segments/bezier/bezier.md +++ b/blazor/diagram/connectors/segments/bezier/bezier.md @@ -307,7 +307,7 @@ The following code example illustrates how to create a customized bezier segment } } ``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/BezierSegmentShape). +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/Bezier/BezierSegmentShape). ![Connector with Bezier Segment Shape and Style in Blazor Diagram](../../../images/BezierSegmentShape.png) @@ -347,7 +347,7 @@ The following code example illustrates how to create a customized bezier segment } } ``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/SegmentShape). +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/Bezier/SegmentShape). ![Connector with Bezier Segment Shape and Style in Blazor Diagram](../../../images/BezierSegmentShape1.png) diff --git a/blazor/diagram/connectors/segments/straight.md b/blazor/diagram/connectors/segments/straight.md index a323325c81..b39f83d5bc 100644 --- a/blazor/diagram/connectors/segments/straight.md +++ b/blazor/diagram/connectors/segments/straight.md @@ -160,7 +160,7 @@ The following code example illustrates how to create a customized bezier segment } } ``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/StraightSegmentShape) +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/Straight/StraightSegmentShape) ![Connector with Straight Segment Shape and Style in Blazor Diagram](../../images/StraightSegmentShape.png) @@ -199,7 +199,7 @@ The following code example illustrates how to create a customized bezier segment } } ``` -You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/SegmentShape) +You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/Blazor-Diagram-Examples/tree/master/UG-Samples/Connectors/Segments/Straight/SegmentShape) ![Connector with Straight Segment Shape and Style in Blazor Diagram](../../images/StraightSegmentShape1.png)