I also have the tool:
function SnappingRelinkingTool() {
go.RelinkingTool.call(this);
}
go.Diagram.inherit(SnappingRelinkingTool, go.RelinkingTool);
SnappingRelinkingTool.prototype.doMouseMove = function () {
var diagram = this.diagram;
if (diagram.toolManager.draggingTool.isGridSnapEnabled === true) {
var e = this.diagram.lastInput;
var grid = this.diagram.grid;
e.documentPoint = e.documentPoint.copy().snapToGridPoint(grid.gridOrigin, grid.gridCellSize);
e.viewPoint = e.diagram.transformDocToView(e.documentPoint);
}
go.RelinkingTool.prototype.doMouseMove.call(this);
}
and my diagram:
var diagram = $$( go.Diagram, canvasId, {
commandHandler: $$( DrawCommandHandler ),
//"ChangedSelection" : updateMultiSelectionPart,
"grid.gridCellSize": new go.Size( 30, 20 ),
"undoManager.isEnabled": true,
"undoManager.maxHistoryLength": -1,
"panningTool.isEnabled": true,
"dragSelectingTool.isEnabled": false,
"draggingTool.dragsLink": true,
"draggingTool.isGridSnapEnabled": true,
linkReshapingTool: $$(SnapLinkReshapingTool),
relinkingTool: new SnappingRelinkingTool(),
"relinkingTool.isUnconnectedLinkValid": true,
"animationManager.isEnabled": false,
} );
I apologize that I don’t know exactly what is different between ours. I am just coming back into this project. I will look again tomorrow to see what else differs. Thanks for your help