google / blockly

The web-based visual programming editor.
https://developers.google.com/blockly/
Apache License 2.0
12.51k stars 3.72k forks source link

refactor!: Add setSelectedItem() to IToolbox. #8650

Closed gonfunko closed 1 week ago

gonfunko commented 2 weeks ago

The basics

The details

Resolves

Fixes #7273

Proposed Changes

This PR updates the IToolbox interface by adding setSelectedItem(), to pair with the existing getSelectedItem(). The linked issue requested a method to select an item by ID, but since this (a) adds a setter to an existing getter (b) is already implemented in the core Toolbox class and (c) you'd need to have an item to get its ID anyway, I think this addresses the root need and is a bit cleaner.

Breaking Change

This is a breaking change; implementers of this interface will need to add this method. Blockly's core Toolbox class already does implement this method, so subclasses of that will get it for free.

cpcallen commented 1 week ago

Can I recommend you pull out the relevant parts of the PR description into a (thus formatted)

BREAKING CHANGE: …

section, for ease of reference—and make sure that that section is included in the squash commit message?

gonfunko commented 1 week ago

Sorry I missed this when I merged, but edited the PR description to call it out in its own section.