diff --git a/core/flyout_base.ts b/core/flyout_base.ts index 927112824..3e77ee2e0 100644 --- a/core/flyout_base.ts +++ b/core/flyout_base.ts @@ -1301,8 +1301,8 @@ export abstract class Flyout } // Clone the block. - const json = blocks.save(oldBlock) as blocks.State; - // Normallly this resizes leading to weird jumps. Save it for terminateDrag. + const json = this.serializeBlock(oldBlock); + // Normally this resizes leading to weird jumps. Save it for terminateDrag. targetWorkspace.setResizesEnabled(false); const block = blocks.append(json, targetWorkspace) as BlockSvg; @@ -1311,6 +1311,16 @@ export abstract class Flyout return block; } + /** + * Serialize a block to JSON. + * + * @param block The block to serialize. + * @returns A serialized representation of the block. + */ + protected serializeBlock(block: BlockSvg): blocks.State { + return blocks.save(block) as blocks.State; + } + /** * Positions a block on the target workspace. *