* refactor(generators): Migrate lua_generator.js to TypeScript
* refactor(generators): Migrate generators/lua/* to TypeScript
* fix(generators): Fix type errors in generator functions
* refactor(generators): Migrate generators/lua.js to TypeScript
* chore(generator): Format
* chore(generators): JSDoc and formatting tweaks for PR #7654
---------
Co-authored-by: Christopher Allen <cpcallen+git@google.com>
* refactor(generators): Migrate dart_generator.js to TypeScript
* refactor(generators): Simplify getAdjusted
Slightly simplify the implementation of getAdjusted, in part to
make it more readable. Also improve its JSDoc comment.
* refactor(generators): Migrate generators/dart/* to TypeScript
First pass doing very mechanistic migration, not attempting to fix
all the resulting type errors.
* fix(generators): Fix type errors in generator functions
This consists almost entirely of adding casts, so the code output
by tsc should be as similar as possible to the pre-migration .js
source files.
* fix(generators): Fix minor inconsistencies in JS and Python
The migration of the JavaScript and Python generators
inadvertently introduced some inconsistencies in the code,
e.g.:
- Incorrect import ordering.
- Putting executable code before the initial comment line that
most generator functions begin with, and/or deleting or
replacing these comments.
- N.B. however that these inline comments should have been
JSDocs; a task to convert them has been added to #7600.
* refactor(generators): Migrate generators/dart.js to TypeScript
The way the generator functions are added to
dartGenerator.forBlock has been modified so that incorrect
generator function signatures will cause tsc to generate a type
error.
* chore(generator): Format
One block protected with // prettier-ignore to preserve careful
comment formatting.
Where there are repeated concatenations prettier has made a pretty
mess of things, but the correct fix is probably to use template
literals instead (rather than just locally disabling prettier).
This is one of the items in the to-do list in #7600.
* fix(generators): Fix for PR #7646
* refactor(generators): Migrate python_generator.js to TypeScript
* refactor(generators): Migrate generators/python/* to TypeScript
First pass doing very mechanistic migration, not attempting to fix
all the resulting type errors.
* fix(generators): Fix type errors in generator functions
This consists almost entirely of adding casts, so the code output
by tsc should be as similar as possible to the pre-migration .js
source files.
* refactor(generators): Migrate generators/python.js to TypeScript
The way the generator functions are added to
pythonGenerator.forBlock has been modified so that incorrect
generator function signatures will cause tsc to generate a type
error.
* chore(generator): Format
One block protected with // prettier-ignore to preserve careful
comment formatting.
Where there are repeated concatenations prettier has made a pretty
mess of things, but the correct fix is probably to use template
literals instead (rather than just locally disabling prettier).
This is one of the items in the to-do list in #7600.
* fix: add basic autoclose toggling support
* fix: drag areas being incorrect
* fix: blocks getting bumped around when dragged into flyout area
* fix: respect always-open flyouts attached to toolboxes
* fix: flyout not hiding on ws click
* fix: have all flyouts filter for capacity
* chore: cleanup
* fix: view metrics not respecting flyout
* chore: fix change detectors
* fix: trashcan not firing close event on click
* add saveIds param and logic to save correctly
* remove whitespace
* add saveIds to recursive calls
* run format
* change name from addIds to saveIds
* add saveIds test
* change blockId on false saveIds to undefined
* refactor(generators): Migrate javascript_generator.js to TypeScript
* refactor(generators): Simplify getAdjusted
Slightly simplify the implementation of getAdjusted, in part to
make it more readable. Also improve its JSDoc comment.
* refactor(generators): Migrate generators/javascript/* to TypeScript
First pass doing very mechanistic migration, not attempting to fix
all the resulting type errors.
* fix(generators): Fix type errors in generator functions
This consists almost entirely of adding casts, so the code output
by tsc should be as similar as possible to the pre-migration .js
source files.
* refactor(generators): Migrate generators/javascript.js to TypeScript
The way the generator functions are added to
javascriptGenerator.forBlock has been modified so that incorrect
generator function signatures will cause tsc to generate a type
error.
* chore(generator): Format
One block protected with // prettier-ignore to preserve careful
comment formatting.
Where there are repeated concatenations prettier has made a pretty
mess of things, but the correct fix is probably to use template
literals instead (rather than just locally disabling prettier).
This has been added to the to-do list in #7600.
* fix(generators): Fixes for PR #7602
* fix(generators): Fix syntax error
* chore: delete dead code
* chore: moves location updating into the block
* chore: change dragging to use update component locations
* fix: field widgets not being moved when blocks are editted
* chore: remove unnecessary resizeEditor_ calls
* chore: format
* chore: fix build
* fix: tests
* chore: PR comments
* chore: format
Make two changes to the forBlock dictionary on CodeGenerator
objects:
- Change the type of the second argument to the special 'this'
type (was CodeGenerator), so that e.g. JS block generator
functions can call JavascriptGenerator.prototype.getAdjusted
(not defined on CodeGenerator).
- Change the way forBlock is declared from using an index
signature to using the Record<> template type. The two
should be equivalent but for some reason the former provokes
type errors when used with the 'this' type.
Additionally, deprecate the now-unused (but exported)
BlockGenerator type alias.
Technically the change of signaure is a breaking chnage, but
it is unlikely to affect any developers in practice, since
any block generator function (Block, CodeGenerator) => ...
can be substituted in for (Block, C extends CodeGenerator) =>
..., so any existing generator functions can still be added
to any CodeGenerator or subclass instance's .forBlock. The
only situation in which this would be breaking is if a
developer was obtaining block generator functions
FROM a subclass instance's .forBlock dictionary and assuming
they were (Block CodeGenerator) => ...
* fix: recreate dropdown div
* fix: recreate tooltip div
* fix: recreate widget div
* fix: Stop using global variables and use getDiv()
* Revert "fix: Stop using global variables and use getDiv()"
This reverts commit 322c4d884b.
* fix: reset widget div