Как перемещать и обновлять точки полигонов в fabricJS?

#fabricjs

Вопрос:

В основном я пытаюсь отредактировать полигон. Как только объект выбран, вы нажимаете кнопку «Изменить» (см. раздел Функция редактирования), которая создает некоторые дескрипторы. Это работает, и ручки находятся в нужном месте. Однако, когда я перемещаю маркеры, я не могу заставить полигон изменить форму.

 moveTransformHandle = (e) =gt; {   let circleIndex = canvas.getActiveObject().circleNo  let points = editPolygon.get("points")  points[circleIndex].x = canvas.getActiveObject().left  points[circleIndex].y = canvas.getActiveObject().top  editPolygon.set({  points: points  })  canvas.requestRenderAll();  }   Edit() {  var poly = canvas.getActiveObject()  poly.edit = !poly.edit;  if (poly.edit) {  editPolygon = poly  var matrix = poly.calcTransformMatrix();  var transformedPoints = poly.get("points")  .map(function (p) {  return new fabric.Point(  p.x - poly.pathOffset.x,  p.y - poly.pathOffset.y  );  })  .map(function (p) {  return fabric.util.transformPoint(p, matrix);  });   transformedPoints.forEach((element, index) =gt; {  let radius = 8  let circle = new fabric.Circle({  radius: radius,  fill: 'red',  left: element.x - radius,  top: element.y - radius,  hasControls: false,  circleNo: index  });  circle.on("moving", this.moveTransformHandle);  canvas.add(circle)   });  }  poly.hasControls = !poly.hasControls  poly.hasBorders = !poly.edit;  canvas.requestRenderAll();  }