* chore: named export for block.js
* chore: named export for block_drag_surface.js
* chore: named export for block_dragger.js
* chore: named export for block_svg.js
* Fix import ordering
* chore: fix imports using requireType
* Remove extra require
* 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