Commit Graph

8849 Commits

Author SHA1 Message Date
Ben Henning
516e3af936 feat: finish core impl + tests
This adds new tests for the FocusableTreeTraverser and fixes a number of
issues with the original implementation (one of which required two new
API methods to be added to IFocusableTree). More tests have also been
added for FocusManager, and defocusing tracked nodes/trees has been
fully implemented in FocusManager.
2025-03-27 21:57:30 +00:00
Ben Henning
d9beacddb4 feat: add FocusManager
This is the bulk of the work for introducing the central logical unit
for managing and sychronizing focus as a first-class Blockly concept
with that of DOM focus.

There's a lot to do yet, including:
- Ensuring clicks within Blockly's scope correctly sync back to focus
  changes.
- Adding support for, and testing, cases when focus is lost from all
  registered trees.
- Testing nested tree propagation.
- Testing the traverser utility class.
- Adding implementations for IFocusableTree and IFocusableNode
  throughout Blockly.
2025-03-21 00:33:51 +00:00
Ben Henning
8c25c1f8ed Merge pull request #8774 from BenHenning/introduce-focus-system-interfaces
feat: Add interfaces for focus management
2025-02-19 15:53:20 -08:00
Ben Henning
de076a7cf5 Empty commit to re-trigger CI flows.
They didn't trigger automatically after a force push.
2025-02-19 23:51:08 +00:00
Ben Henning
3ae422a566 feat: Add interfaces for focus management.
Introduces the necessary base interfaces for representing different
focusable contexts within Blockly. The actual logic for utilizing and
implementing these interfaces will come in later PRs.
2025-02-19 23:03:21 +00:00
Aaron Dodson
e6e57ddc01 fix: Fix bug that caused blocks dragged from non-primary flyouts to be misplaced. (#8753)
* fix: Fix bug that caused blocks dragged from non-primary flyouts to be misplaced.

* chore: Fix docstring.
2025-02-04 15:23:03 -08:00
Aaron Dodson
343c2f51f3 feat: Add support for toggling readonly mode. (#8750)
* feat: Add methods for toggling and inspecting the readonly state of a workspace.

* refactor: Use the new readonly setters/getters in place of checking the injection options.

* fix: Fix bug that allowed dragging blocks from a flyout onto a readonly workspace.

* feat: Toggle a `blocklyReadOnly` class when readonly status is changed.

* chore: Placate the linter.

* chore: Placate the compiler.
2025-01-30 13:47:36 -08:00
Aaron Dodson
c88ebf1ede fix: Don't add padding around zero-width fields. (#8738) 2025-01-16 15:23:55 -08:00
Aaron Dodson
c68d6451b7 release: Update version number to 12.0.0-beta.1 blockly-v12.0.0-beta.1 2025-01-10 10:53:31 -08:00
Aaron Dodson
bcdb65c623 release: Merge branch 'develop' into rc/v12.0.0 2025-01-10 10:53:09 -08:00
Aaron Dodson
0c20129a26 fix: Fix bug that preventing scrolling menu items into view. (#8726)
* fix: Fix bug that preventing scrolling menu items into view.

* chore: Deprecate now-unused-in-core functions in style.
2025-01-10 10:38:30 -08:00
Aaron Dodson
75efba92e3 fix: Fix bug that prevented keyboard navigation in flyouts. (#8687)
* fix: Fix bug that prevented keyboard navigation in flyouts.

* refactor: Add an `isFocusable()` method to FlyoutItem.
2025-01-09 14:31:51 -08:00
Aaron Dodson
80a6d85c26 refactor!: Use JSON instead of XML for defining dynamic toolbox categories. (#8658)
* refactor!: Use JSON instead of XML for defining dynamic toolbox categories.

* chore: Fix tests.

* chore: Remove unused import.

* chore: Update docstrings.

* chore: Revert removal of XML-based category functions.

* chore: Add deprecation notices.
2025-01-08 11:50:18 -08:00
Aaron Dodson
4dcffa0914 fix: Don't create intermediate variables when renaming a procedure argument. (#8723) 2025-01-08 09:37:28 -08:00
Aaron Dodson
a42c2d1508 feat: Add a BlockSvg.getStyle() method. (#8722)
* feat: Add a BlockSvg.getStyle() method.

* refactor: Remove direct field access to BlockSvg.style.
2025-01-07 14:44:48 -08:00
Aaron Dodson
151d21e50e refactor: Convert renderer typecheck methods to typeguards. (#8656)
* refactor: Convert renderer typecheck methods to typeguards.

* chore: Revert unintended change.

* chore: Format types.ts.
2025-01-07 14:04:21 -08:00
Aaron Dodson
547ff18867 fix: Reposition the trashcan's flyout in response to workspace changes. (#8721) 2025-01-07 13:41:16 -08:00
Aaron Dodson
2c29c01b14 Merge pull request #8701 from google/master
chore: Merge `master` back into `develop` following v11.2.0 release
2025-01-06 11:57:11 -08:00
Aaron Dodson
956f272da0 feat: Add a generator for all fields on a block. (#8667)
* feat: Add a generator for all fields on a block.

* chore: Add docstring.
2025-01-06 11:30:22 -08:00
Aaron Dodson
f31a9f957f fix: Disallow adding comments to mutator workspaces. (#8720) 2025-01-06 11:28:06 -08:00
Aaron Dodson
77c695a648 fix: Paste blocks copied from a mutator into the mutator. (#8719) 2025-01-06 11:19:23 -08:00
Aaron Dodson
503cd0073f refactor: Reenable workspace resizing after reflowing flyouts. (#8683) 2025-01-06 11:08:17 -08:00
Aaron Dodson
bd7c86a909 chore: Improve code health of generator tests. (#8703) 2025-01-06 10:55:57 -08:00
Aaron Dodson
071814e9de feat: Warn if a variable category is loaded without variable blocks. (#8704) 2025-01-06 10:55:10 -08:00
Aaron Dodson
b8bb26f8fd fix: Fix serialization of the lists_split block. (#8702) 2025-01-06 10:54:33 -08:00
Aaron Dodson
eeef2edf34 chore!: Fix warnings when generating docs. (#8660) 2025-01-06 10:53:45 -08:00
Aaron Dodson
54ebfb7a0e fix: Fix unsafe cast in Input.setVisible(). (#8695) 2025-01-06 10:52:02 -08:00
dependabot[bot]
d7048d557f chore(deps): bump @blockly/dev-tools from 8.0.9 to 8.0.12 (#8708)
Bumps [@blockly/dev-tools](https://github.com/google/blockly-samples/tree/HEAD/plugins/dev-tools) from 8.0.9 to 8.0.12.
- [Release notes](https://github.com/google/blockly-samples/releases)
- [Changelog](https://github.com/google/blockly-samples/blob/master/plugins/dev-tools/CHANGELOG.md)
- [Commits](https://github.com/google/blockly-samples/commits/@blockly/dev-tools@8.0.12/plugins/dev-tools)

---
updated-dependencies:
- dependency-name: "@blockly/dev-tools"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 09:08:09 -08:00
Jacek Fedoryński
dd6be31a8e fix: treat media files as binary while packaging them (#8706)
By default gulp's src() treats files as UTF-8, which corrupts binary
files like MP3s when copying them for packaging. This makes it treat
them as binary.
2025-01-06 08:48:17 -08:00
dependabot[bot]
f9b0221524 chore(deps): bump @microsoft/api-extractor from 7.47.11 to 7.48.1 (#8709)
Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-extractor) from 7.47.11 to 7.48.1.
- [Changelog](https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md)
- [Commits](https://github.com/microsoft/rushstack/commits/@microsoft/api-extractor_v7.48.1/apps/api-extractor)

---
updated-dependencies:
- dependency-name: "@microsoft/api-extractor"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 08:36:58 -08:00
dependabot[bot]
ec6d3d39d1 chore(deps): bump concurrently from 9.0.1 to 9.1.2 (#8718)
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 9.0.1 to 9.1.2.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v9.0.1...v9.1.2)

---
updated-dependencies:
- dependency-name: concurrently
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 08:32:06 -08:00
dependabot[bot]
505492526c chore(deps): bump webdriverio from 9.0.9 to 9.4.2 (#8698)
Bumps [webdriverio](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/webdriverio) from 9.0.9 to 9.4.2.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.4.2/packages/webdriverio)

---
updated-dependencies:
- dependency-name: webdriverio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 10:40:16 -08:00
dependabot[bot]
93e0319e69 chore(deps): bump eslint from 9.16.0 to 9.17.0 (#8697)
Bumps [eslint](https://github.com/eslint/eslint) from 9.16.0 to 9.17.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.16.0...v9.17.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 10:33:44 -08:00
dependabot[bot]
0cac191cd3 chore(deps): bump prettier-plugin-organize-imports from 4.0.0 to 4.1.0 (#8640)
Bumps [prettier-plugin-organize-imports](https://github.com/simonhaenisch/prettier-plugin-organize-imports) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/simonhaenisch/prettier-plugin-organize-imports/releases)
- [Changelog](https://github.com/simonhaenisch/prettier-plugin-organize-imports/blob/master/changelog.md)
- [Commits](https://github.com/simonhaenisch/prettier-plugin-organize-imports/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: prettier-plugin-organize-imports
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 10:29:46 -08:00
Aaron Dodson
00fec12d68 release: v11.2.0
Merge pull request #8700 from google/rc/v11.2.0
blockly-v11.2.0
2024-12-17 12:56:46 -08:00
Aaron Dodson
6774dd8f38 release: Update version number to 11.2.0 2024-12-17 12:10:11 -08:00
dependabot[bot]
803dcfba25 chore(deps): bump eslint-plugin-jsdoc from 50.5.0 to 50.6.0 (#8690)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 50.5.0 to 50.6.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v50.5.0...v50.6.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 08:12:07 -08:00
Aaron Dodson
d2c2d6b554 release: Update version number to 12.0.0-beta.0 blockly-v12.0.0-beta.0 2024-12-04 12:44:26 -08:00
Aaron Dodson
aad5339c01 fix: Fix variable type change test. 2024-12-04 12:18:08 -08:00
Aaron Dodson
389dd1a1cb chore: Post-merge fixits. 2024-12-04 12:15:19 -08:00
Aaron Dodson
9fcd5a3037 release: Merge branch 'rc/v11.2.0' into rc/v12.0.0 2024-12-04 12:06:12 -08:00
Aaron Dodson
0104166c37 release: Update version number to 11.2.0-beta.2 blockly-v11.2.0-beta.2 2024-12-04 10:26:10 -08:00
Aaron Dodson
e45aa229bc release: Merge branch 'develop' into rc/v11.2.0 2024-12-04 10:25:33 -08:00
Christopher Allen
4680b4b5c1 test: Disable failing tests (#8677)
See issue #8676.
2024-12-04 09:30:22 -08:00
Mateus S. Pereira
7219800183 fix: workspace shifts when deleting a block (#8666)
* fix: workspace shifts when deleting a block

* fix: awaiting for block rerender

* fix: create reusable method to prevent marking method as async
2024-12-04 09:25:01 -08:00
echoooooo
eb79f667e2 fix: typo in comment (#8685) 2024-12-04 08:54:34 -08:00
Aaron Dodson
6118ffe8fc chore: Remove obsolete workaround for resize events on iPads. (#8669) 2024-12-03 14:48:41 -08:00
Aaron Dodson
43ebf20500 chore: Remove CSS targeting multiline input field. (#8684) 2024-12-03 14:17:09 -08:00
dependabot[bot]
09bdd39cb2 chore(deps): bump eslint from 8.57.0 to 9.16.0 (#8680)
Bumps [eslint](https://github.com/eslint/eslint) from 8.57.0 to 9.16.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.57.0...v9.16.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 13:47:10 -08:00
Aaron Dodson
24ab50d49d fix: Fix bug that caused text to be selected when long-pressing in the workspace on a touch device. (#8670)
* fix: Fix bug that caused text to be selected when long-pressing in the workspace on a touch device.

* chore: Fix test failure.
2024-12-03 13:41:32 -08:00