You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched for similar issues before opening a new one.
Problem
In MakeCode, we implement a custom flyout that does not extend the base Flyout abstract class. In the keyboard navigation AST code, the flyout returned by workspace.getFlyout() is cast as a Flyout rather than an IFlyout, and uses methods that are implemented on that class but not included in the IFlyout interface.
For example, in this function, getContents() is part of Flyout and not IFlyout
Request
Keyboard navigation should use the IFlyout interface rather than the Flyout class to ensure compatibility with plugin contributed flyouts.
Alternatives considered
For now, I've just implemented the getContents() method on our Flyout.
Additional context
No response
The text was updated successfully, but these errors were encountered:
@riknoll fyi I think we have to keep this as a breaking change to require getContents in order to support accurate keyboard navigation. So I've formalized that in #8064 by adding it to the interface and removing the cast to Flyout.
Wanted to give you a heads up as I've changed the typing. I found your implementation and I think you'll just need to update your own typings of the function as well as remove the casts. Let me know if you anticipate problems with this. Thanks!
Without having looked at it closely, this seems perhaps related to google/blockly-samples#399. Just commenting to cross-link the two for future reference.
Check for duplicates
Problem
In MakeCode, we implement a custom flyout that does not extend the base Flyout abstract class. In the keyboard navigation AST code, the flyout returned by
workspace.getFlyout()
is cast as aFlyout
rather than anIFlyout
, and uses methods that are implemented on that class but not included in theIFlyout
interface.For example, in this function,
getContents()
is part ofFlyout
and notIFlyout
Request
Keyboard navigation should use the
IFlyout
interface rather than theFlyout
class to ensure compatibility with plugin contributed flyouts.Alternatives considered
For now, I've just implemented the
getContents()
method on our Flyout.Additional context
No response
The text was updated successfully, but these errors were encountered: