4755 Commits

Author SHA1 Message Date
Aaron Dodson 296ad33c21 fix: Fix bug that allowed some invisible fields/inputs to be navigated to. (#8899) 2025-04-17 09:48:17 -07:00
Maribeth Moffatt d63a8882c5 feat: show context menu for connections (#8895)
* feat: show context menu for connections

* fix: update after rebase
2025-04-16 10:48:18 -07:00
Aaron Dodson fd9263ac51 feat: Allow for HTML elements in dropdown field menus. (#8889)
* feat: Allow for HTML elements in dropdown field menus.

* refactor: Use dot access.
2025-04-15 14:34:38 -07:00
Maribeth Moffatt acca9ea83f feat!: deprecate scopeType and include focusedNode in context menu options (#8882)
* feat!: deprecate scopeType and include focusedNode in context menu options

* chore: add issue to todo
2025-04-15 11:24:01 -07:00
Aaron Dodson e45471d6f4 fix: Fix menu scrolling. (#8881) 2025-04-14 13:56:46 -07:00
Aaron Dodson 98cf5cb8ee feat: Add support for retrieving blocks' drag strategies. (#8893) 2025-04-14 13:54:15 -07:00
Aaron Dodson 7a3eb62142 fix: Don't visit invisible inputs with the cursor. (#8892) 2025-04-14 13:20:33 -07:00
Maribeth Moffatt 547fed4c6b feat: menuOpenEvent, menuSelectEvent, and location for context menu items
feat: menuOpenEvent, menuSelectEvent, and location for context menu items
2025-04-14 12:37:49 -07:00
Maribeth Moffatt e0009e257c fix: update dependencies so adv compilation works (#8890) 2025-04-14 12:16:40 -07:00
Rachel Fenichel fac75043dd feat: add loopback in cursor navigation, and add tests (#8883)
* chore: tests for cursor getNextNode

* chore: add tests for getPreviousNode

* feat: add looping to getPreviousNode and getNextNode

* chore: inline returns

* chore: fix test that results in a stack node

* chore: fix annotations
2025-04-14 09:58:58 -07:00
Maribeth Moffatt d1dc38f582 feat: support menuOpenEvent, menuSelectEvent, location for context menu items (#8877)
* feat: support menuOpenEvent, menuSelectEvent, location for context menu items

* feat: show context menu based on location

* fix: rtl
2025-04-11 15:10:05 -07:00
Rachel Fenichel 3160e3d321 feat: add getFirstNode and getLastNode to cursor with tests (#8878)
* feat: add getFirstNode and getlastNode to line_cursor.ts

* chore: add simple tests for getFirstNode and getLastNode

* chore: broken tests for debugging

* chore: additional cursor tests

* chore: lint, format, reenable tasks
2025-04-11 10:13:10 -07:00
Maribeth Moffatt c5736bba65 feat: make block and workspace implement IContextMenu (#8876) 2025-04-10 10:34:35 -07:00
Maribeth Moffatt 2c05119ef2 fix: change css class for disabled block pattern (#8864) 2025-04-08 12:06:05 -07:00
Maribeth Moffatt 89194b2ead fix: check potential variables for flyout variable fields (#8873)
* fix: check potential variables for flyout variable fields

* fix: format

* chore: move comment
2025-04-07 17:29:00 -07:00
Rachel Fenichel 76b02de654 feat: add getSearchRadius to BlockDragStrategy (#8871) 2025-04-07 13:52:15 -07:00
Rachel Fenichel 49387ec788 feat: add shouldHealStack method (#8872)
* feat: add shouldHealStack method

* chore: format
2025-04-07 12:44:40 -07:00
Ben Henning 17171abf1c Merge pull request #8814 from BenHenning/introduce-focus-system-implementation
feat: Introduce FocusManager implementation
2025-04-03 16:20:49 -07:00
Ben Henning c5404af82e chore: lint fixes. 2025-04-03 23:04:06 +00:00
Rachel Fenichel 58cd954fc0 feat: make getNextNode and getPreviousNode public (#8859) 2025-04-03 22:59:34 +00:00
Ben Henning 720e8dab2b chore: part 2 of addressing reviewer comments. 2025-04-03 22:55:35 +00:00
Ben Henning 902b26b1a1 chore: part 1 of addressing reviewer comments. 2025-04-03 22:25:50 +00:00
Aaron Dodson ca362725ee refactor!: Backport LineCursor to core. (#8834)
* refactor: Backport LineCursor to core.

* fix: Fix instantiation of LineCursor.

* fix: Fix tests.

* chore: Assauge the linter.

* chore: Fix some typos.

* feat: Make padding configurable for scrollBoundsIntoView.

* chore: Merge in the latest changes from keyboard-experimentation.

* refactor: Clarify name and docs for findSiblingOrParentSibling().

* fix: Improve scrollBoundsIntoView() behavior.

* fix: Export CursorOptions.

* refactor: Further clarify second parameter of setCurNode().

* fix: Revert change that could prevent scrolling bounds into view.
2025-04-03 12:15:17 -07:00
Aaron Dodson 7171350992 fix!: Tighten and correct typings on ASTNode (#8835)
* fix!: Tighten typings on ASTNode.create*Node() methods.

* fix: Restore missing condition.

* fix: Fix unsafe casts, non-null assertions and incorrect types.

* refactor: Simplify parent input checks.
2025-04-01 14:59:40 -07:00
RoboErikG 212f13af08 feat: Add a method for creating flyout options (#8829) 2025-03-28 14:02:28 -07:00
Aaron Dodson 7a07b4b2ba refactor!: Remove old cursor and tab support. (#8803) 2025-03-28 13:54:33 -07:00
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
zhiyan wang 63a4df6533 fix: fix bug that modalInputs option is not working in toolbox area (#8817) 2025-03-24 13:18:30 -07: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
Aaron Dodson 0f07567965 fix: Allow the marker's current node to be null. (#8802) 2025-03-20 09:46:31 -07:00
Aaron Dodson 0983c43bc4 Merge pull request #8798 from google/develop-v12-merge
chore: Merge develop into rc/v12.0.0
2025-03-12 13:29:12 -07:00
Aaron Dodson 00d77456c9 Revert "fix!: Remove the blocklyMenuItemHighlight CSS class and use the hover…" (#8800)
This reverts commit d6125d4fb9.
2025-03-12 09:27:47 -07:00
Aaron Dodson b8f71b83b7 Merge branch 'rc/v12.0.0' into develop-v12-merge 2025-03-11 09:42:25 -07:00
Aaron Dodson fa4fce5c12 feat!: Added support for separators in menus. (#8767)
* feat!: Added support for separators in menus.

* chore: Do English gooder.

* fix: Remove menu separators from the DOM during dispose.
2025-02-27 14:00:40 -08:00
Aaron Dodson dcd2d0e539 fix: Fix a bug where selection outlines could be cut off when connecting blocks. (#8789) 2025-02-27 13:04:37 -08:00
Aaron Dodson 0ed6c82acc fix: Disallow and ignore x and y attributes for blocks in toolbox definitions. (#8785)
* fix: Disallow and ignore x and y attributes for blocks in toolbox definitions.

* chore: Clarify comment in BlockFlyoutInflater.
2025-02-27 10:55:34 -08:00
Aaron Dodson 22dbd75bd4 refactor: make CommentView more amenable to subclassing. (#8783) 2025-02-24 08:17:38 -08:00
Aaron Dodson 7e44e81e42 fix: Fix bug that prevented editing workspace comments on Firefox. (#8779)
* fix: Fix bug that prevented editing workspace comments on Firefox.

* chore: Add a docstring for getTextArea().

* refactor: Use isTargetInput() instead of comparing to comment textarea.
2025-02-20 09:56:41 -08:00
RoboErikG b343a13bbe fix: Fixes #8764 by moving the event grouping calls up to dragger.ts (#8781) 2025-02-20 08:56:57 -08: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 29950fd872 fix: Allow dragging blocks from the far lower right corner. (#8766) 2025-02-12 14:22:14 -08:00
RoboErikG 15d6ea2558 Fix: #8194 by using a stepped animation for the wiggle (#8743)
* Fix #8194 by using animation steps for the wiggle

* Formatting cleanup
2025-02-12 13:16:35 -08:00
Aaron Dodson 58406af64f fix: Fix menu scrolling. (#8765)
* Revert "fix: Fix bug that preventing scrolling menu items into view. (#8726)"

This reverts commit f166b677c0.

* fix: Fix menu scrolling.
2025-02-12 11:53:16 -08:00
Aaron Dodson 8fcc73097f fix: Improve menu mouse/keyboard selection interaction. (#8749)
* chore: Use "pointer" instead of "mouse" in menu.ts.

* fix: Only highlight menu items on hover if the pointer has moved.

* fix: Don't blur menus on pointerleave.
2025-02-04 15:47:25 -08: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
Clément Contet a190539bd8 fix: Fix dropdown text color in Zelos (#8741) 2025-01-20 09:29:34 +00:00
Aaron Dodson c88ebf1ede fix: Don't add padding around zero-width fields. (#8738) 2025-01-16 15:23:55 -08:00
Aaron Dodson a86ba15154 fix: Fix the browser tests. (#8735) 2025-01-16 10:37:24 -08:00
Aaron Dodson 640410752d fix: Fix display of multiline RTL strings in bubbles on Webkit. (#8733)
* fix: Fix display of multiline RTL strings in bubbles on Webkit.

* chore: Remove references to spans.
2025-01-14 14:50:15 -08:00