alexeyinkin opened a new pull request, #22553:
URL: https://github.com/apache/beam/pull/22553
This refactors the initial loading of examples that used to be in
`playground_page_providers.dart`:
- Example loading descriptors were introduced. Each descriptor contains all
the info to load an example from a given source.
- `StandardExampleLoadingDescriptor` defines loading by an example name.
- `CatalogDefaultExampleLoadingDescriptor` defines loading the default
example for a given SDK.
- `EmptyExampleLoadingDescriptor` defines loading empty content while
setting a given SDK.
- An option to load arbitrary code with `code` query parameter was removed.
It was not allowing to set SDK so it was likely not used in practice. It was
only allowed in the embedded version thus introducing unwanted distinctions
between the two views. Should we need this option, we must add a loading
descriptor class for it.
- Example loaders were introduced. Each loader class loads an example from a
given source using a particular descriptor class.
- `PlaygroundState` now links to `ExampleState`. This is because the loading
complications were stemming from their separation. The loading code had to
await events from both of them. `ExampleState` is no longer provided in the
widget tree, all code consuming `ExampleState` from the tree was changed to
consume `PlaygroundState`.
As we were completing 'Share any code' feature, this refactoring emerged as
a requirement. Without it, adding another source of source code would render
the old loading unmaintainable.
------------------------
Thank you for your contribution! Follow this checklist to help us
incorporate your contribution quickly and easily:
- [ ] [**Choose
reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and
mention them in a comment (`R: @username`).
- [ ] Mention the appropriate issue in your description (for example:
`addresses #123`), if applicable. This will automatically add a link to the
pull request in the issue. If you would like the issue to automatically close
on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
- [ ] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache [Individual
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more
tips on [how to make review process
smoother](https://beam.apache.org/contribute/get-started-contributing/#make-the-reviewers-job-easier).
To check the build health, please visit
[https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more
information about GitHub Actions CI.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]