Skip to content

API reference / Common / Engine types / ObjectCommand

Type Alias: ObjectCommand ​

ts
type ObjectCommand = 
  | {
  insertObjects: {
     parent: GraphicsObjectId | null;
     index: number;
     objects: unknown[];
  };
}
  | {
  transformObjects: {
     ids: GraphicsObjectId[];
     delta: Affine;
  };
}
  | {
  translateObjects: {
     ids: GraphicsObjectId[];
     dx: number;
     dy: number;
  };
}
  | {
  rotateObjects: {
     ids: GraphicsObjectId[];
     angle: number;
  };
}
  | {
  scaleObjects: {
     ids: GraphicsObjectId[];
     sx: number;
     sy: number;
     anchorX: number;
     anchorY: number;
  };
}
  | {
  deleteObjects: {
     ids: GraphicsObjectId[];
  };
}
  | {
  reorderObjects: {
     ids: GraphicsObjectId[];
     order: ObjectZOrder;
  };
}
  | {
  groupObjects: {
     ids: GraphicsObjectId[];
  };
}
  | {
  ungroupObjects: {
     ids: GraphicsObjectId[];
  };
}
  | {
  alignObjects: {
     ids: GraphicsObjectId[];
     edge: ObjectAlignEdge;
     target: ObjectAlignTarget;
  };
}
  | {
  distributeObjects: {
     ids: GraphicsObjectId[];
     axis: ObjectAxis;
  };
}
  | {
  setNonstrokingStyle: {
     ids: GraphicsObjectId[];
     style: NonstrokingStyle;
  };
}
  | {
  setStrokingStyle: {
     ids: GraphicsObjectId[];
     style: StrokingStyle;
  };
}
  | {
  editObjectText: {
     command: ObjectTextCommand;
  };
};

An edit intent on one page's graphics objects — the page is the EditObject wrapping it. Objects are addressed by id; ids not on the page are skipped.