* 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
* chore(deps): Remove deprecated babel-lint package
When dependabot submitted PR #5791, it became apparent that eslint
version >= 8 is incompatible with babel-eslint v10.1.0 despite the
latter not having a version restriction against it. This is probably
because v10.1.0 is the last version of the package before it was
deprecated and renamed @babel/eslint-parser.
A little more investigation determined that there is no longer any
need to have eslint use a non-default parser for tests/mocha/**/*.js,
so the most straight forward solution is just to remove the dependency
entirely.
* refactor(tests): Simplify tests/mocha/.eslintrc.json
Remove all rules that seem to be redundant with our top-level
.eslintrc.json.
This finishes reverting most of the changes made in PR #4062.
* Add deprecation warnings and reorganize blockly.js
* Update usages of deprecated properties
* chore: make dates consistent, remove extra function
* chore: run clang-format and fix lint
* chore: add more tags
* chore: fix updated location of Align types
* chore: fix deprecated usages in tests
* chore: rebuild deps
* chore: fix moved Align types in demos and tests
* chore: update which properties are actually deprecated
* chore: don't deprecate Blockly.selected.
This constant is used to specify the alignment of
an Input, so it should live in the same file as the Input class.
I've done this as a separate named export, but it could alternatively
be made a static member of Input (i.e., Input.Align with only Input
being exported by name).
Where mocha tests were referring to Blockly.constants.ALIGN.*
without actually requiring Blockly.constants, I have reverted
them to refer to Blockly.ALIGN_* instead (pending conversion
to named requries).
Part of #5073.
* Add new connection checks and tests
* Enable concurrent output and previous connections on blocks
* and remove assumption from unplug().
* Make changes compatible with new module system
* Fix issue do to Connection class change.
. and change some var's to const's now that that appears to be ok ;-)
* Fix more code that assumes only one of output and previous connections
* Change function name as per PR comment
* Fix lint errors
* Fix clang format issues
* chore: fix or ignore remaining lint
* chore: fix bad annotations
* chore: use push for array concatenation
* chore: revert use of spread for array operations
* chore: rename module Blockly.blocks.Lists to ....lists
All the other Blockly.blocks modules have lower-case names. This
one being named with an upper-case initial appears to have been a
typo on my part.
This module name is not mentioned anywhere else in the source code
(though it will be soon!) so no other files need to be edited.
Further, it does not appear anywhere in the last release (which
before PR #5696) so it is not necessary to add an entry in
renamings.js for this change.
* chore(build): Rationalise deps.js, deps.mocha.js
* Include blocks/*.js (Blockly.blocks.*) in tests/deps.js, since
these modules are used in the playground. (They are goog.provide
modules loaded via <script> tags, so their absence from deps.js
does not cause errors - but it will when they are migrated to
goog.module and must be loaded via goog.require.)
* Filter the entries in deps.mocha.js so that it includes only the
additional mocha test modules (i.e. those not mentioned in deps.js
already).
* refactor: Load blocks and generators using goog.require
* chore: move functions from utils to more specific files
* chore: use new names for utils functions
* chore: run clang-format
* chore: add deprecation warnings back to utils.js
There are small typos in:
- closure/goog/base.js
- core/contextmenu_items.js
- core/insertion_marker_manager.js
- core/toolbox/collapsible_category.js
- demos/blockfactory/workspacefactory/wfactory_controller.js
- demos/blockfactory/workspacefactory/wfactory_view.js
- tests/mocha/field_colour_test.js
Fixes:
- Should read `updates` rather than `udpates`.
- Should read `unhighlighting` rather than `unhiglighting`.
- Should read `then` rather than `tehn`.
- Should read `modified` rather than `modifed`.
- Should read `different` rather than `diffferent`.
- Should read `currently` rather than `currenly`.
- Should read `browser` rather than `broswer`.
* Rename Blockly.Blocks to Blockly.blocks
Because it does not export a type as its default export.
Part of #5073.
* Name default export of Blockly.blocks Blocks.
Use named exports in Blockly.blocks by giving the former default
export the name Blocks.
Part of #5153.
* Reexport Blockly.blocks from blockly.js
* Document the format of renamings.js better.
* fix: dragging variables from flyout
* fix: rename positionBlock_ to positionNewBlock_
* fix: type
* fix: try alternative method for handling variables in flyout
* fix: remove duplicate serialization hook implementations
* feat: add backwards compatibility to field serialization
* feat: add support for serializing old mutator hooks
* fix: build
* fix: refactor field changes into helpers
* fix: typo
* fix: removing xmlns
* tests: add tests for serialization and deserialization of mutator hooks
* fix: switch to early returns
* fix: remove some attributes from the JSO system
Remove the deletable, movable, and editable attributes.
Normally this would be a breaking change, but because this isn't
released yet it's just a patch.
* fixup: serializer tests
* Move existing tests into new suite
* Add tests for setShadowState
* Add assertions for serialization
* Unskip serialization tests
* Add logic to handle shadows in both systems
* Uncomment tests
* fix: add access modifiers to new comment funcs
* fix: fixup types
* fix: remove addNextBlocks = true
* feat: add real child of shadow errors
* fix: types
* Respect nulls from blocks.save
* Upgrade list blocks to use JSO serialization
* Upgrade logic blocks to use JSO serialization
* Upgrade math blocks to use JSO serialization
* Upgrade text blocks to use JSO serialization
* Upgrade procedure blocks to use JSO serialization
* Add more mutator tests
* Fix firing enabled events
* PR Comments
* Add parameter for recording undo.
This sets up the most common default behavior, but also makes it clear
to people that it is happening, because it might not be expected.
* Add grouping of events
* Add text width caching
* Add disabling workspace resizing
* Add performance optimizations
* Respect nulls from blocks.save
* Cleanup from rebase
* PR Comments
* Cleanup from rebase
* Add tests for serializing connected blocks
* Add serialization of child blocks
* Add tests for not serializing children
* Add options for not serializing children
* Fix types
* Change addNextBlocks to default to true
* Cleanup
* Fix types