Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: dynamic json serialization #1888

Conversation

BeksOmega
Copy link
Contributor

@BeksOmega BeksOmega commented Aug 31, 2023

Closes #1843
Closes #906
Closes #1622 because the block definitions are now compatible with built-in generators

Adds serializing to JSON to all of the dynamic blocks.

We also have to make sure we can load Xml that had been stringified and put in XML. Added tests for this. We only need to worry about the old XML format because the changes that add the new format and this change will go out together. But I just pass the XML to domToMutation anyway, which handles both so it doesn't matter.

@BeksOmega BeksOmega changed the base branch from master to block-dynamic-serialization September 8, 2023 16:23
@BeksOmega BeksOmega force-pushed the feat/dynamic-json-serialization branch from e98e862 to fec2c9e Compare September 12, 2023 15:37
@BeksOmega BeksOmega marked this pull request as ready for review September 12, 2023 15:38
@BeksOmega BeksOmega requested a review from a team as a code owner September 12, 2023 15:38
@BeksOmega BeksOmega requested review from NeilFraser and removed request for a team September 12, 2023 15:38
@BeksOmega BeksOmega merged commit afae8e0 into google:block-dynamic-serialization Sep 12, 2023
BeksOmega added a commit that referenced this pull request Sep 14, 2023
* feat: add json serialization for text and list dynamic blocks

* chore: use helpers to append inputs

* chore: add json serialization to if blocks

* fix: support loading stringified XML from JSOn
BeksOmega added a commit to BeksOmega/blockly-samples that referenced this pull request Sep 19, 2023
* feat: add json serialization for text and list dynamic blocks

* chore: use helpers to append inputs

* chore: add json serialization to if blocks

* fix: support loading stringified XML from JSOn
BeksOmega added a commit to BeksOmega/blockly-samples that referenced this pull request Sep 19, 2023
* feat: add json serialization for text and list dynamic blocks

* chore: use helpers to append inputs

* chore: add json serialization to if blocks

* fix: support loading stringified XML from JSOn
BeksOmega added a commit to BeksOmega/blockly-samples that referenced this pull request Sep 28, 2023
* feat: add json serialization for text and list dynamic blocks

* chore: use helpers to append inputs

* chore: add json serialization to if blocks

* fix: support loading stringified XML from JSOn
BeksOmega added a commit to BeksOmega/blockly-samples that referenced this pull request Sep 28, 2023
* feat: add json serialization for text and list dynamic blocks

* chore: use helpers to append inputs

* chore: add json serialization to if blocks

* fix: support loading stringified XML from JSOn
BeksOmega added a commit that referenced this pull request Sep 28, 2023
* feat: add json serialization for text and list dynamic blocks

* chore: use helpers to append inputs

* chore: add json serialization to if blocks

* fix: support loading stringified XML from JSOn
BeksOmega added a commit that referenced this pull request Sep 28, 2023
* fix: upgrade keyboard navigation to use new clipboard API (#1844)

* fix: upgrade keyboard navigation to use new clipboard API

* chore: reorganize test suites

* chore: fixup delete tests

* chore: work on fixing copy tests

* chore: finish fixing up copy tests

* chore: fix cut and paste tests

* chore: delete paste suite

* chore: delete unnecessary test helpers

* chore: fixup other tests

* chore: document why we're stubbing cancelAnimationFrame and add it to teardown

* fix: upgrade cross tab copy paste to use new clipboard API (#1845)

* fix: upgrade cross tab copy paste to use new clipboard API

* chore: update to beta

* fix: upgrade shareable procedures for new clipboard API (#1863)

* chore: fix tests

* fix: upgrade the shareable procedure blocks to use the new clipboard system

* chore: update blockly version

* chore: fix lint

* fix: serialization of dynamic if blocks (#1880)

* fix: normalize inputs

* fix: work on fixing serialization

* chore: remove inputCounts

* chore: fix tests

* fix: infinite loop

* fix: serialization of dynamic list blocks (#1885)

* fix: normalize inputs

* fix: serialization

* chore: remove inputCounter

* fix: normalize connections from load

* chore: switch tests to regexp

* chore: refactor tests

* fix: rebuilding behavior

* chore: revert changes to playground

* chore: format

* fix: fully tear down dynamic block before rebuilding (#1886)

* fix: dynamic text serialization (#1887)

* fix: normalize inputs

* fix: serialization

* chore: remove inputCounter

* fix: normalize connections from load

* chore: switch tests to regexp

* chore: refactor tests

* feat: dynamic json serialization (#1888)

* feat: add json serialization for text and list dynamic blocks

* chore: use helpers to append inputs

* chore: add json serialization to if blocks

* fix: support loading stringified XML from JSOn

* fix: dynamic connection plugin readme (#1919)

* chore: update readme and remove warning

* chore: add backticks

* deprecate: edit row separator readme to deprecate it (#1920)

* chore: edit row separator readme to deprecate it.

* Mark deprecated package private to stop publishing

* fix: unnamed callers for shareable procedures (#1983)

* fix: rendering dynamic connections (#1984)

* fix: migrating json for dynamic connections (#1985)

* chore: get tests to fail

* fix: round tripping old json to new json

* chore: fixup fixes

* chore: give up on getting tests to fail properly

* fix: fixup keyboard nav to remove blockly version check (#1991)

* fix: fixup keyboard nav to remove check

* chore: update beta version

* fix: bump blockly to v10.2.0

---------

Co-authored-by: John Nesky <nesky@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants