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
We enabled strictMissingTypes and strictCheckProperties in the closure build as a prerequisite for running MigranTS. Where possible we fixed type annotations properly, but in other places we need to do a refactor to make the types make sense--particularly where we tack properties onto SVG Elements to pass information around.
Sub-issues
Tooltip code:
.tooltip property on SVG Elements
mouseOverWrapper and mouseOutWrapper being stored on SVG Elements
Touch/Gesture code uses Event and PseudoEvent instead of more specific types
PointerEvents are implemented on all of our supported browsers, so we can get rid of some of the touch code.
skew and translate on SVG Elements in block_animations.js
compose and decompose on block/blockSvg. Beka said: "Technically the compiler shouldn't accept this, because the BlockSvg versions of these functions expect more restricted types - which is bad. But also technically we always use the different versions correctly so it's fine. We just can't communicate that to the compiler without casting all the time." (See fix: add compose and decompose to block #6102)
Currently defined only on ToolboxCategory. Toolbox's refreshTheme checks if the function exists on all children, and calls it if it exists, because it's not in the interface.
onKeyDown, used in toolbox.js.
It's not part of `ISelectableToolboxItem, and I don't think it's defined on any core toolbox items. Maybe it's used in one of the plugins. If yes, add to an interface. If no, delete it.
navigateBetweenStacks_ in ast_node.js needs type narrowing, but I can't tell what the possible types are.
Context
We enabled
strictMissingTypes
andstrictCheckProperties
in the closure build as a prerequisite for running MigranTS. Where possible we fixed type annotations properly, but in other places we need to do a refactor to make the types make sense--particularly where we tack properties onto SVG Elements to pass information around.Sub-issues
.tooltip
property on SVG ElementsmouseOverWrapper
andmouseOutWrapper
being stored on SVG ElementsEvent
andPseudoEvent
instead of more specific typesPointerEvents
are implemented on all of our supported browsers, so we can get rid of some of the touch code.skew
andtranslate
on SVG Elements inblock_animations.js
compose
anddecompose
on block/blockSvg. Beka said: "Technically the compiler shouldn't accept this, because the BlockSvg versions of these functions expect more restricted types - which is bad. But also technically we always use the different versions correctly so it's fine. We just can't communicate that to the compiler without casting all the time." (See fix: add compose and decompose to block #6102)DragTarget
be an abstract class?setVisible_
onIToolboxItem
setFocus
andselect
ingesture.js
are really only for workspace comments, but there's an issue for making focus and select work more uniformly: Workspace comments and all other bubbles should consistently handle single clicks. #1673refreshTheme
in toolbox code.ToolboxCategory
. Toolbox'srefreshTheme
checks if the function exists on all children, and calls it if it exists, because it's not in the interface.onKeyDown
, used intoolbox.js
.navigateBetweenStacks_
inast_node.js
needs type narrowing, but I can't tell what the possible types are.See also
#6073
#5857
The text was updated successfully, but these errors were encountered: