import Konva from "konva"; const EVENTS_NAME = "tr-konva"; class LSTransformerOld extends Konva.Transformer { get _outerBack() { return this.getStage()?.findOne(this.attrs.backSelector); } setNodes(nodes = []) { super.setNodes(nodes); if (this._outerBack) { this._proxyDrag(this._outerBack); } return this; } detach() { this._outerBack?.off(`.${EVENTS_NAME}`); super.detach(); } update() { const { x, y, width, height } = this._getNodeRect(); const rotation = this.rotation(); const outerBack = this._outerBack; super.update(); if (outerBack) { const backAbsScale = this.getAbsoluteScale(); const trAbsScale = outerBack.getAbsoluteScale(); const scale = { x: backAbsScale.x / trAbsScale.x, y: backAbsScale.y / trAbsScale.y, }; outerBack .setAttrs({ x: (x - this.getStage().getAttr("x")) * scale.x, y: (y - this.getStage().getAttr("y")) * scale.y, width: width * scale.x, height: height * scale.y, rotation, }) .getLayer() .batchDraw(); } } } Konva.LSTransformerOld = LSTransformerOld; export default "LSTransformerOld";