* 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
* Upgrade field angle to use new serialization
* Upgrade field checkbox to use new serialization
* Upgrade field colour to use new serialization
* Upgrade field dropdown to use new serialization
* Upgrade serializable label field to use new serialization
* Upgrade field multiline input to use new serialization
* Upgrade field number to use new serialization
* Upgrade field text input to use new serialization
* Upgrade variable field to use new serialization
* Fix type casts
* Feedback from PR
* Switch to use getValue()
* Add tests for saving extra state
* Add serializing extra state
* Fix backwards compatibility
* Switch to other function declarations
* Handle null returns from hooks
* Remove backwards compatibility
* Remove XML require, and fix type
* Fix JSDoc formatting
* Add basic attribute tests
* Add basic block serialization
* Add more attribute tests
* Change save to use options dictionary
* Add obeying save options
* Add test for data attribute
* Add saving data tag
* Move to ES6 syntax
* Fixup move to es6 syntax
* Declare module
* Format and lint
* Add docs
* Add returning null on insertion markers
* Fixup for move to module
* Switch to other function declarations
* Cleanup for finalized style
* Fix lint and types
* Export State def
* Switch disabled=true to enabled=false
* Add JSON serialiation hooks for fields
* Add checking for JSON hooks
* Fix other checks and move checks to function
* Remove error for both serialization hooks being defined
* Fixup comments and errors
* Add tests
* Add json hooks to block properties
* Cleanup
* Rip out fragile backwards compatibility
* Setup basic architecture for tests
* Attribute tests
* Easy field tests added
* Work on tests
* Work on tests
* Work on tests
* Add mutation tests
* Fixup ID tests
* Add more mutator tests
* Fixup lint and typos
* Uncomment tests
* Use test helpers
* Small PR comments
* Use test helpers for setup and teardown
* Add TODOs and fixup types
* Fix types
* Actually fix types
Since the only part of the Closure Library we have is base.js,
prevent it from trying to load deps.js from the same directory.
(We already load our own dependency graph from tests/deps.js.)
* Migrate core/blockly.js to ES6 const/let
* Migrate core/blockly.js to goog.module
* Migrate core/blockly.js to named requires
* clang-format core/blockly.js
* Consolidate accessors in core/blockly.js
* Add getSelected/setSelected to core/common.js
* Migrate core to use Blockly.common.getSelected/setSelected instead of Blockly.selected
* Migrate demos to use Blockly.common.getSelected/setSelected instead of Blockly.selected
* Remove Blockly.selected
* Use variable instead of calling common.getSelected() multiple times
* Add accessor for selected on Blockly
* Add renaming record for Blockly.selected -> Blockly.common.getSelected/setSelected
* Use Object.defineProperties instead of .defineProperty when
installing get and set accessors for previously-mutable exports.
* Add entries to renamings.js where feasible (i.e., for static rather
than instance properties).
(Don't do blockly.js yet, to avoid merge conflicts.)