Adornment position

Is this possible to change the rotation adornment handle position to the TopCenter of the node ? This code doesn’t work and then handle is too far from the node :

return this.go(go.Adornment,
    locationSpot: go.Spot.TopCenter,

Draggable Link demonstrates that, and unfortunately for you, a lot of other customizations. You’ll need the custom RotatingTool.

Perfect !

Below a class equivalent with a default export :

import go from 'gojs';

export default class TopRotatingTool extends go.RotatingTool {

  constructor(spot) {
    super(); = spot;

  updateAdornments(part) {
    const adornment = part.findAdornment('Rotating');
    if (adornment !== null) {
      adornment.location = part.rotateObject.getDocumentPoint(;

  rotate(newangle) {
    super.rotate(newangle + 90);

It’s now simple to use with :

import TopRotatingTool from 'yourJsFile';


diagram.toolManager.rotatingTool = new TopRotatingTool(new go.Spot(0.5, 0, 0, -15));

Walter, Is it possible to change this point from a node template ?

You could change the TopRotatingTool to look at the .data and decide what angle and Spot to use.