Node linking and diagram auto adjust

Is it possible to auto adjust diagram node without using any layout. i want to use layerSpacing and columnSpacing to add node in between of two nodes using drag and drop but i am not using any layout and i don’t want to use any layout

right now i am using this code for arrange but i want to achieve this without using any layout
myDiagram.layout =
direction: 90,
isOngoing: true, // sets the postion of the node to current drag pos
layerSpacing: 50,
setsPortSpots: false,
columnSpacing: 40,
isRouting: true,
isValidLayout: true,
isViewportSized: true,
aggressiveOption: go.LayeredDigraphLayout.AggressiveMore,
cycleRemoveOption: go.LayeredDigraphLayout.CycleDepthFirst,
initializeOption: go.LayeredDigraphLayout.InitDepthFirstOut,
layeringOption: go.LayeredDigraphLayout.LayerOptimalLinkLength,
packOption: go.LayeredDigraphLayout.PackAll

So, to be clear, you don’t want to set Diagram.layout at all. You want to depend on users to position every node, and the only guidance they get is either grid-snapping while dragging or guidelines as shown at Guided Dragging, or perhaps some other similar dragging aid.

Well then, perhaps the easiest way to get what you want is to implement a custom Layout that automatically moves nodes aside to make room. Take a look at this sample: Automatically Shift Nodes Aside Righward to Make Room.

Note that it only moves nodes towards the right. You might want to adapt the code to also move nodes towards the bottom. Or in all four directions.

You’ll also need to adapt the code to have some sort of spacing between the nodes. That code was designed not to have any space between the nodes, as if they were physical boxes.

does it possible to get the event on link dropOntoLink i am able to set my node position but i have to drop it on node only but i want the event while i am doping that node on link and how would i can set layerSpacing and columnSpacing in custom Layout

You could implement a GraphObject.mouseDrop event handler on your Link template.

how would i can able to move all nodes which are blow to the doped node in my diagram

for example i am having 3 nodes in my diagram A->B->C i want to drop new node D in between of A and B then i just want to shift B and C to bottom so that the new node will be arrange in between of A->D->B->C like this

That is normally the responsibility of the specific Layout that is the value of Diagram.layout. For example, if you assigned a TreeLayout as the Diagram’s layout, everything would automatically be laid out after each addition (or removal) of a node or a link. See for example Org Chart Editor

but i want to achieve this using custom layout how would it possible to do this using custom layout please let me know this using some example or peace of code.
how would i automatically arrange my diagram nodes on adding new node or removing using custom layout

Why do you need a custom layout, other than a modification of an existing Layout? What is it that you are trying to accomplish that samples such as Flowgrammer do not demonstrate?

Have you read GoJS Layouts -- Northwoods Software and Extending GoJS -- Northwoods Software ?