On version 19.2 getting error
DragAndDropEventArgs.DraggedNode' is obsolete: 'This property is deprecated
public void nodeDropped(DragAndDropEventArgs args)
{
diagram.BeginUpdate();
Dictionary<string, object> value = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(args.Event.ToString());
double x = Convert.ToDouble(value["screenX"]);
double y = Convert.ToDouble(value["screenY"]);
if (args.DraggedNode != null)
{
DiagramNode node = new DiagramNode()
{
Id = args.DraggedNode.ID,
OffsetX = x - 415,
OffsetY = y,
Width = 100,
Height = 100,
Annotations = new ObservableCollection<DiagramNodeAnnotation>()
{
new DiagramNodeAnnotation()
{
Content = args.DraggedNodeData.Text,
Offset = new NodeAnnotationOffset() { X = 0.75, Y = 0.5}
}
}
};
diagram.Nodes.Add(node);
diagram.EndUpdate();
}
}
|
public void nodeDropped(DragAndDropEventArgs args)
{
diagram.BeginUpdate();
Dictionary<string, object> value = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(args.Event.ToString());
double x = Convert.ToDouble(value["screenX"]);
double y = Convert.ToDouble(value["screenY"]);
if (args.DraggedNodeData!= null)
{
DiagramNode node = new DiagramNode()
{
Id = args.DraggedNodeData.ID,
OffsetX = x - 415,
OffsetY = y,
Width = 100,
Height = 100,
Annotations = new ObservableCollection<DiagramNodeAnnotation>()
{
new DiagramNodeAnnotation()
{
Content = args.DraggedNodeData.Text,
Offset = new NodeAnnotationOffset() { X = 0.75, Y = 0.5}
}
}
};
diagram.Nodes.Add(node);
diagram.EndUpdate();
}
} |
Hi Gowtham,
Thanks for this. When I drop the item onto the grid I get the following error
System.Collections.Generic.KeyNotFoundException: The given key 'screenX' was not present in the dictionary
Also, once I drop the node I want to change it into an html element. I have tried the following,
public void OnDrop(IBlazorDropEventArgs args)
{
args.Cancel = true;
var NewNode = args.Element.Node;
Diagram.Nodes.Add(new DiagramNode()
{
OffsetX = NewNode.OffsetX,
OffsetY = NewNode.OffsetY,
Width = NewNode.Width,
Height = NewNode.Height,
Shape = new DiagramShape()
{
Type = Shapes.HTML,
}
});
}
but that only works with
<DiagramEvents OnDrop="@OnDrop"></DiagramEvents>
In the SFDiagram I have
<DiagramTemplates>
<NodeTemplate>
@{
<content><div>HTML here</div></content>
}
</NodeTemplate>
</DiagramTemplates>