From 4552db79cb5a9ca2718c08f974bfc2d022624cdf Mon Sep 17 00:00:00 2001 From: Aaron Dodson Date: Fri, 3 May 2024 11:19:53 -0700 Subject: [PATCH 1/3] refactor: split out block serialization for creating new blocks from the flyout --- core/flyout_base.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/flyout_base.ts b/core/flyout_base.ts index 92711282423..4f92f5f9661 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; @@ -1310,6 +1310,10 @@ export abstract class Flyout return block; } + + protected serializeBlock(block: BlockSvg): blocks.State { + return blocks.save(block) as blocks.State; + } /** * Positions a block on the target workspace. From 815e4a38327c08066b015484d5c8f42d74e44847 Mon Sep 17 00:00:00 2001 From: Aaron Dodson Date: Fri, 3 May 2024 11:23:01 -0700 Subject: [PATCH 2/3] fix: add JSDoc. --- core/flyout_base.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/flyout_base.ts b/core/flyout_base.ts index 4f92f5f9661..11d4615f800 100644 --- a/core/flyout_base.ts +++ b/core/flyout_base.ts @@ -1311,6 +1311,11 @@ 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; } From f249f507ad9b78d744c1684acb71949a4eb9ee2f Mon Sep 17 00:00:00 2001 From: Aaron Dodson Date: Fri, 3 May 2024 11:27:00 -0700 Subject: [PATCH 3/3] chore: satisfy the linter. --- core/flyout_base.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/flyout_base.ts b/core/flyout_base.ts index 11d4615f800..3e77ee2e070 100644 --- a/core/flyout_base.ts +++ b/core/flyout_base.ts @@ -1310,9 +1310,10 @@ export abstract class Flyout return block; } - + /** * Serialize a block to JSON. + * * @param block The block to serialize. * @returns A serialized representation of the block. */