From f93440d3526f6b457eb8c530ebc5017324875e84 Mon Sep 17 00:00:00 2001 From: Aaron Dodson Date: Thu, 10 Oct 2024 13:34:25 -0700 Subject: [PATCH 1/2] refactor: fix compatibility with checkboxes and category status indicators --- src/containers/blocks.jsx | 6 +++--- src/lib/blocks.js | 27 +++++++++++++++------------ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/containers/blocks.jsx b/src/containers/blocks.jsx index a70f7fdd373..173a7fecb84 100644 --- a/src/containers/blocks.jsx +++ b/src/containers/blocks.jsx @@ -94,7 +94,7 @@ class Blocks extends React.Component { this.ScratchBlocks.ScratchVariables.setPromptHandler( this.handlePromptStart ); - this.ScratchBlocks.statusButtonCallback = + this.ScratchBlocks.StatusIndicatorLabel.statusButtonCallback = this.handleConnectionModalStart; this.ScratchBlocks.recordSoundCallback = this.handleOpenSoundRecorder; @@ -110,7 +110,7 @@ class Blocks extends React.Component { this.props.useCatBlocks ); this.ScratchBlocks.dialog.setPrompt(this.handlePromptStart); - this.ScratchBlocks.statusButtonCallback = + this.ScratchBlocks.StatusIndicatorLabel.statusButtonCallback = this.handleConnectionModalStart; this.ScratchBlocks.recordSoundCallback = this.handleOpenSoundRecorder; @@ -716,7 +716,7 @@ class Blocks extends React.Component { this.props.onOpenConnectionModal(extensionId); } handleStatusButtonUpdate() { - this.ScratchBlocks.refreshStatusButtons(this.workspace); + this.workspace.getFlyout().refreshStatusButtons(); } handleOpenSoundRecorder() { this.props.onOpenSoundRecorder(); diff --git a/src/lib/blocks.js b/src/lib/blocks.js index 149d67897f9..3c940cae9a0 100644 --- a/src/lib/blocks.js +++ b/src/lib/blocks.js @@ -356,6 +356,8 @@ export default function (vm, useCatBlocks) { }; const json = jsonForSensingMenus(menuFn); + json["extensions"].push("output_string"); + console.log(json); this.jsonInit(json); }; @@ -396,19 +398,20 @@ export default function (vm, useCatBlocks) { this.jsonInit(json); }; - ScratchBlocks.CheckableContinuousFlyout.prototype.getCheckboxState = - function (blockId) { - const monitoredBlock = vm.runtime.monitorBlocks._blocks[blockId]; - return monitoredBlock ? monitoredBlock.isMonitored : false; - }; + ScratchBlocks.CheckboxBubble.prototype.isChecked = function (blockId) { + const monitoredBlock = vm.runtime.monitorBlocks._blocks[blockId]; + return monitoredBlock ? monitoredBlock.isMonitored : false; + }; + + ScratchBlocks.StatusIndicatorLabel.prototype.getExtensionState = function ( + extensionId + ) { + if (vm.getPeripheralIsConnected(extensionId)) { + return ScratchBlocks.StatusButtonState.READY; + } + return ScratchBlocks.StatusButtonState.NOT_READY; + }; - // ScratchBlocks.FlyoutExtensionCategoryHeader.getExtensionState = function (extensionId) { - // if (vm.getPeripheralIsConnected(extensionId)) { - // return ScratchBlocks.StatusButtonState.READY; - // } - // return ScratchBlocks.StatusButtonState.NOT_READY; - // }; - // // ScratchBlocks.FieldNote.playNote_ = function (noteNum, extensionId) { // vm.runtime.emit('PLAY_NOTE', noteNum, extensionId); // }; From 45c827cda9cd215dd5f21043173f6e83e8136ecc Mon Sep 17 00:00:00 2001 From: Aaron Dodson Date: Mon, 14 Oct 2024 08:22:59 -0700 Subject: [PATCH 2/2] chore: remove errant logging --- src/lib/blocks.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/blocks.js b/src/lib/blocks.js index 3c940cae9a0..298307cab35 100644 --- a/src/lib/blocks.js +++ b/src/lib/blocks.js @@ -356,8 +356,6 @@ export default function (vm, useCatBlocks) { }; const json = jsonForSensingMenus(menuFn); - json["extensions"].push("output_string"); - console.log(json); this.jsonInit(json); };