* 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
* 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
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.
There are only 10 instances of ++x in our codebase, compared with over 500 instances of x++. The stlye guide has no opinion on which to use, nor do I. But the lack of consistency was making regex searches for bugs more difficult.
Our files are up to a decade old, and have churned so much, that the initial author of the file no longer has much meaning.
Furthermore, this will encourage developers to post to the developer group, rather than emailing Googlers (usually me) directly.
* Add annotations to files under core/events
* Add annotations to files under core/interfaces
* Add annotations to files under core/keyboard_nav
* Add annotations to files under core/renderers
* Add annotations to files under core/serialization
* Add annotations to files under core/theme
* Add annotations to files under core/toolbox
* Add annotations to files under core/utils
* Add annotations to files under core
* 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
* Use goog.requireType when importing I* interfaces
Interfaces have no code, so should never be referred to outside of
(JSDoc) comments, and so the modules that define only interfaces never
need to be goog.require'd - goog.requireType is always sufficient.
This commit fixes imports of all modules whose name matches
/(.*\.)?I[A-Z]*/ - i.e., the hungarian-notation named ones in
core/interfaces/.
* Use goog.requireType when only using import for type specifications
Where a module is imported only to used in JSDoc comments it can
(and should) be goog.requireType'd instead of goog.require'd.
* Remove spurious eslint-disable no-unused-vars
There were a few cases where modules were being imported with
goog.require (because they are referred to in code, not just JSDoc
comments) but were prefaced by a spurious eslint suppress.
Remove these, restoring the invariant that an import gets an eslint
if and only if it is a requireType.
* Remove obsolete Closure Compiler error group
stricterMissingRequire has been superceded by missingRequire, and now
causes a Java null pointer exception if supplied.
* Partially revert collapsed block changes and add additional handling for setting children of collapsed blocks to not rendered
* Improve performance by checking if child is rendered in updateDisabled
* Google changed from an Inc to an LLC.
This happened back in 2017 but we didn’t notice. Officially we should update files from Inc to LLC when they are changed as part of regular edits, but this is a nightmare to remember for the next decade.
* Remove project description/titles from licenses
This is no longer part of Google’s header requirements. Our existing descriptions were useless (“Visual Blocks Editor”) or grossly obselete (“Visual Blocks Language”).
* License no longer requires URL.
* Fix license regexps.