-
Notifications
You must be signed in to change notification settings - Fork 754
add more examples to package:web migration #7040
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
base: main
Are you sure you want to change the base?
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
Summary of ChangesHello @fsw, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request adds several useful examples for migrating from dart:html to package:web. The new sections on Element vs HTMLElement, list operations, common DOM manipulations, and type tests will be very helpful for developers. The examples are clear and cover common migration scenarios. I've found a small typo in one of the code examples and a potentially confusing link reference, for which I've left specific comments. Overall, this is a great addition to the documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gcbrun |
|
Visit the preview URL for this PR (updated for commit afbaa5d): |
kevmoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
antfitch
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will review after our technical reviewers have finished first.
srujzs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay, thanks!
| ```dart | ||
| parent.children.removeWhere(test); // Remove | ||
| for (var i = parent.children.length - 1; i >= 0; --i) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unrelated, but it might be beneficial for us (the package:web owners) to have a mutable list implementation to support things like this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I was also thinking if it would be better to implement this instead of documenting. I will try to open a PR to package:web later and link this PR to update this example. In my code base I used an extension to fix this. I am not sure if any other method than removeWhere would be usable here though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will try to open a PR to package:web later
Sounds great, thank you!
if any other method than removeWhere would be usable here though.
On reflection, children was exposed as a List in dart:html but HTMLCollection is not a list-like, so we'd need something bespoke. An alternative is to have something specific for children instead. I'm also not sure if there are any examples of mutable list-likes in the browser to warrant a general mutable List implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, it seems general implementation is not possible. I have worked out something like this
dart-lang/web#490 to work with children and childNodes.
| ```dart | ||
| parent.children.removeWhere(test); // Remove | ||
| for (var i = parent.children.length - 1; i >= 0; --i) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will try to open a PR to package:web later
Sounds great, thank you!
if any other method than removeWhere would be usable here though.
On reflection, children was exposed as a List in dart:html but HTMLCollection is not a list-like, so we'd need something bespoke. An alternative is to have something specific for children instead. I'm also not sure if there are any examples of mutable list-likes in the browser to warrant a general mutable List implementation.
I think adding a few more examples and info will help with the migration process.