* 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
* 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: fix uses of var in core/block_dragger
* chore: fix uses of var in core/extensions.js
* chore: fix uses of var in core/field_multilineinput.js
* chore: fix uses of var in assorted core files
* chore: fix uses of var in node test runner and playground screenshot code
* fix: undefined return from measureFontMetrics
* fix: violations of no-const-assign
* chore: only one variable declaration per line
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
* Add hideChaff() to core/workspace_svg.js
* Mark Blockly.hideChaff as deprecated
* Update uses of Blockly.hideChaff() to WorkspaceSvg.hideChaff() in core
* Update uses of Blockly.hideChaff() to WorkspaceSvg.hideChaff() in demos
* Style and formatting fixes
* Switch from accessor to stub wrapper for Blockly.hideChaff
Co-authored-by: Christopher Allen <cpcallen+github@gmail.com>
Co-authored-by: Christopher Allen <cpcallen+github@gmail.com>
Some files were using Blockly.utils.object.inherits (or .mixin) without
having imported Blockly.utils.object.
Similarly, trashcan.js tried to use utils.Size as a constructor
instead of importing Size from Blockly.utils.Size.
* 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.
* introduce IDraggable interface
* Add parameter to drag methods in IDragTarget
* combines bubble/drag methods on IDragTarget and IDeleteArea to take an IDraggable element
* keep track of state for whether the block or bubble would be deleted for use with drag enter exit
* Check if block and bubble is deletable in IDeleteArea
* Add to jsdoc of IDeleteArea
A {} has a bunch of names already defined on it (like ‘toString’). When using an object as a map with arbitrary keys, it should not inherit from Object.prototype.