Drag Copy Multiple Fields Between Nodes

In my application, I have the ability to drag and copy fields from one node to another. I would like to expand this so that it drags and copies multiple fields at once. For example, if I select mulitple fields (i.e. “one” and “two”) and drag them to the “second” node, I would like it to copy everything I have selected (see image below):

Right now, when I drag “two” for instance, it only drags “two” instead of both “one” and “two.”

I should add that this is the code for the activate tool

// checks when the DraggingTool is activated
DraggingTool.prototype.doActivate = function() {

    // sets default variables
    var diagram = this.diagram;
    this.startTransaction('Drag Field');
    this.isActive = true;

    // uses the temporaryPart alone instead of the usual result of computeEffectiveCollection
    var map = new go.Map( /*go.Part, go.DraggingInfo*/);
    map.set(this.temporaryPart, new go.DraggingInfo(diagram.lastInput.documentPoint.copy()));
    this.draggedParts = map;
    diagram.isMouseCaptured = true;

I’m not sure, but I would start with the custom FieldDraggingTool in https://gojs.net/latest/samples/dragDropFields.html

Thanks. I already have that functionality implemented. I was wondering if there was a way to detect everything that is selected when dragging? Similar to when holding control and dragging nodes.

You can check:

Thanks! I ended up looping through each selected part and duplicating them on drop.