* fix: Fix errors under strict compilation.
* fix: Fix tests that referenced properties converted to data attributes.
* fix: Incorporate feedback on resolving compiler errors.
* refactor: Revert changes to skew and translate attributes.
* refactor: Introduce LegacyContextMenuOption type to correspond to documented fields.
* refactor: Introduce PathLeftShape and PathDownShape vs casting to PuzzleTab/Notch.
* chore: Added nullability modifiers to type annotations.
* refactor: Export FlyoutItem directly.
* chore: clang-format renderers/zelos/drawer.js.
* fix: remove drop down div class
* fix: change name and export for drop down div
* fix: make module-local variables conform to styleguide
* fix: format
* fix: shadowing
* refactor: refactor tooltip show method
* refactor: make Tooltip a class that is accessed via a singleton
* revert: "refactor: make Tooltip a class that is accessed via a singleton"
This reverts commit b3d543cc35.
* feat: add the ability to set a custom tooltip function
* fix: check for null where it matters for types
* feat: Add a test for the custom tooltip function
* fix: fix formatting
* fix: format test
* fix: remove unnecessary teardown call in test
* refact: move super call to top of block svg
* refact: run conversion script on block svg and block
* fix: make debug build happy
* fix: tests
* style: format
* fix: cleanup from rebase
* fix: use new.target instead of a new parameter
* fix: add more overridden casted methods to BlockSvg
* style: fix typos
* style: move override tags to the end of JSDoc
* fix: cleanup from rebase
* refactor: Initial test at refactoring fields to ES6
* refact: reorganize text input and descendants to call super first
* refact: run conversion script on text input field and subclasses
* clean: cleanup fields post-conversion script
* refact: reorganize dropdown and variable fields to call super first
* refact: run class conversion script on dropdown and variable
* clean: clean fields post conversion script
* refact: reorganize misc fields to call super first
* refact: run conversion script on misc fields
* clean: cleanup misc fields after conversion
* fix: add setting the value and whatnot back to the base field. Pass sentinel conistently
* format
* refact: work on making debug compiler happy
* clean: finish making debug build happy
* fix: work on making tests happy
* fix: finish making tests happy
* Fix: fixup angle and multiline fields
* clean: format
* fix: move default value back to DEFAULT_VALUE
* fix: change SENTINEL to SKIP_SETUP
* fix: inline docs
* fix: some misc PR comments
* fix: format
* fix: make compiler hapy with new.target
* fix: types in FieldDropdown
* fix: add @final annotations to Field
* feat: move Sentinel to a utils file
* fix: remove ImageProperties from external API
* clean: cleanup chunks and deps
* fix: remove unnecessary properties from rows
* refactor: run conversion script on measurables
* clean: cleanup from conversion
* fix: make debug build happy
* clean: format
* fix: remove widthWithConnectedBlocks assignment on element
* fix: add inline docs for statementEdge
Rather than ignoring blockly_uncompressed.js, gulpfile.js and
core/utils/global.js entirely, add suitable eslint-disable directives
to those files so that they lint cleanly (and migrate gulpfile to
use const instead of var).
* refact: convert toolbox items to ES6 classes
* fix: and SENTINEL so that contents can be parsed properly
* fix: fix types and whatnot related to new SENTINEL
* clean: format
* refactor: reorganize overridable calls into the init function, and remove sentinel
* clean: format
* fix: inline docs and organization
* refactor: convert shortcut registry to es6 class
* refactor: convert context menu registry to es6 class
* refactor: convert registry type to es6 class
* chore: format
* chore: respond to PR comments
* refactor: move optional function declarations into the constructor
* refactor: convert options.js to es6 class
* refactor: convert generator.js to es6 class
* refactor: convert workspace_events.js to es6 class
* refactor: convert events_abstract.js to an es6 class
* chore: format
* chore: fix lint
* chore: rebuild
* chore: respond to PR feedback
Same as PR #5640, except for the addition of a parameter in the JSON to turn this on or off. While one would normally want animations/sounds on (e.g. undo/redo stack) sometimes they'd be annoying (e.g. events from realtime collaborators).
* refactor: update several files to es6 classes
* refactor: update several files to es6 classes
* chore: add some type casts for specificity about event types
* chore: run formatter
* chore: rebuild
* refactor: update workspace_comment and _svg to es classes
* refactor: update classes that extend icon to es classes
* refactor: update icon to es6 class
* refactor: update connection classes to es6 classes and add casts as needed
* refactor: update scrollbar to es6 class and add casts as needed
* refactor: update workspace_svg to es6 class
* refactor: update several files to es6 classes
* refactor: update several files to es6 classes
* refactor: update renderers/common/info.js to es6 class
* refactor: update several files to es6 classes
* chore: rebuild deps.js
* chore: run format
* chore: use casts to narrow types in renderers
* chore: add @struct and type information on common measurables
* refactor: update some renderer measurables to es6 classes
* refactor: convert many measurables to es6 classes
* chore: format
* chore: rebuild
* refactor: Provide a BlockDefinition type
* refactor: Split defineBlocksWithJsonArray
Split defineBlocksWithJsonArray into:
- createBlockDefinitionsFromJsonArray, which creates BlockDefinitions
from a (possibly JSON-originated) POJsO array, having no side-effects
except possibly issuing warnings to the console.
- defineBlocks, which add any dictionary of BlockDefinitions to
the Blocks dictionary.
* feat(blocks): Export block definitions per-module
- Define all blocks in a local blocks dictionary, often using
createBlockDefinitionFromJsonArray, without registering them.
- Separately, use defineBlocks to register the exported
BlockDefinitions at the end of each Blockly.blocks.*
module.
- In Blockly.blocks.all, create a blocks export that combines all
of the blocks exports from the individual blocks modules.
* chore: have format script run clang-format on blocks/ too
* refactor: convert flyout_button.js to ES6 class
* chore: move some properties into constructor and add annotations for flyout base
* refactor: convert flyout_horizontal.js to ES6 class
* refactor: convert flyout_vertical.js to ES6 class
* refactor: convert flyout_base.js to ES6 class
* refactor: convert flyout_metrics_manager.js to ES6 class
* refactor: convert insertion_marker_manager.js to ES6 class
* refactor: convert metrics_manager.js to ES6 class
* refactor: convert grid.js to ES6 class
* refactor: convert input.js to ES6 class
* refactor: convert touch_gesture.js to ES6 class
* refactor: convert gesture.js to ES6 class
* refactor: convert trashcan.js to ES6 class
* chore: rebuild and run format
* chore: fix review comments
* chore: respond to PR comments
* chore(tests): update event assert functions to pass in types directly
* refactor: move event types from prototypes to constructors
* refactor: convert events/events_block_change.js to ES6 class
* refactor: convert events/events_block_create.js to ES6 class
* refactor: convert events/events_block_delete.js to ES6 class
* refactor: convert events/events_block_drag.js to ES6 class
* refactor: convert events/events_block_move.js to ES6 class
* refactor: convert events/events_click.js to ES6 class
* refactor: convert events/events_comment_change.js to ES6 class
* refactor: convert events/events_comment_create.js to ES6 class
* refactor: convert events/events_comment_delete.js to ES6 class
* refactor: convert events/events_comment_move.js to ES6 class
* refactor: convert events/events_marker_move.js to ES6 class
* refactor: convert events/events_selected.js to ES6 class
* refactor: convert events/events_theme_change.js to ES6 class
* refactor: convert events/events_toolbox_item_select.js to ES6 class
* refactor: convert events/events_trashcan_open.js to ES6 class
* refactor: convert events/events_ui.js to ES6 class
* refactor: convert events/events_var_create.js to ES6 class
* refactor: convert events/events_var_delete.js to ES6 class
* refactor: convert events/events_var_rename.js to ES6 class
* refactor: convert events/events_viewport.js to ES6 class
* chore: rebuild
* chore: run clang-format
* refactor: convert menu.js to ES6 class
* refactor: convert menuitem.js to ES6 class
* refactor: convert scrollbar_pair.js to ES6 class
* chore: define properties in the constructor in names.js
* refactor: convert names.js to ES6 class
* chore: run clang-format
* refactor: convert utils/coordinate.js to ES6 class
* refactor: convert utils/rect.js to ES6 class
* refactor: convert utils/size.js to ES6 class
* refactor: convert block_drag_surface.js to ES6 class
* refactor: convert block_dragger.js to ES6 class
* refactor: convert bubble_dragger.js to ES6 class
* chore: declare bubble property in the constructor
* refactor: convert bubble.js to ES6 class
* chore: clang-format
* chore(lint): lint and format
* refactor: move properties to constructor in block_drag_surface.js
* refactor: move properties to constructor in block_svg.js
* refactor: move properties to constructor in block.js
* refactor: move properties to constructor in bubble.js
* refactor: move properties to constructor in connection.js
* refactor: move properties to constructor in flyout_base.js
* refactor: move properties to constructor in flyout_button.js
* refactor: move properties to constructor in generator.js
* refactor: move properties to constructor in grid.js
* refactor: move properties to constructor in input.js
* refactor: move properties to constructor in mutator.js
* refactor: move properties to constructor in scrollbar.js
* refactor: move properties to constructor in trashcan.js
* refactor: move properties to constructor in warning.js
* refactor: move properties to constructor in workspace_audio.js
* refactor: move properties to constructor in workspace_drag_surface_svg.js
* refactor: move properties to constructor in workspace_svg.js
* refactor: move properties to constructor in workspace.js
* refactor: move properties to constructor in zoom_controls.js
* chore: rebuild
* refactor: convert zoom_controls.js to es6 class and format
* refactor: convert workspace_audio.js to es6 class and format
* refactor: convert workspace_dragger.js to es6 class and format
* refactor: convert workspace_drag_surface_svg.js to es6 class and format
* refactor: convert variable_model.js to es6 class and format
* refactor: convert variable_map.js to es6 class and format
* refactor: convert theme.js to es6 class and format
* chore: remove bad comment
Observed this error in Blockly Games Bird 6 (Chrome OS):
Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
It has only shown up once, and I can't reproduce, but it looks like the drag surface was being cleared while empty. Maybe some weird multi-touch operation?
Open question: Leave the code as is so that the error is thown and visible, or supress it?