* 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/php/* 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 more minor inconsistencies in JS and Python
The migration of the JavaScript and Python generators
inadvertently introduced some inconsistencies in the code,
e.g. putting executable code before the initial comment line that
most generator functions begin with. This fixes another instance
of this (but n.b. that these inline comments should have been
JSDocs and a task has been added to #7600 to convert them).
Additionally, I noticed while doing the PHP migration that
ORDER_OVERRIDES was not typed as specifically as it could be,
in previous migrations, so this is fixed here (along with the
formatting of the associated JSDoc, which can fit on one line
now.)
* refactor(generators): Migrate generators/php.js to TypeScript
The way the generator functions are added to
phpGenerator.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.
* docs(generators): @fileoverview -> @file
With an update to the wording for generators/php.ts.
* fix(generators): Fixes for PR #7647.
- Don't declare unused wherePascalCase dictionary.
- Don't allow null in OPERATOR dictionary when not needed.
- Fix return type (and documentation thereof) of getAdjusted.
* docs(generators): @fileoverview -> @file; delete @suppress
* fix(generators): Fix return type of getAdjusted
And improve its documentation too.
Fix the @returns doc for PythonGenerator's getAdjustedInt but
(for now) don't change the type because it does actually
return numbers in some circumstances.
* 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