widgetti / widgetti/ipyvuetify
Components with CamelCaseName can not be nested, whereas snake-case-names are fine
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 355
- Forks
- 61
- PR merge metrics
- No merged PRs in 30d
Description
Hi there,
We are using the template-based approach with ipyvue/ipyvuetify to decouple frontend development from the backend via .vue files. Our interface consists of nested components as I imagine any non-trivial UI would. In order to resolve these nested components, we register their tag-names and .vue file content at the VueComponentRegistry.vue_component_registry using vue.register_component_from_string.
It turns out, that if you register component tags as CamelCase, they cannot be nested, whereas it is completely fine to use snake-case. An minimal example jupyter notebook is attached.
Is this an oversight, intentional or is there some documentation that we missed? I know that I spent quite some time debugging the UI structure until I realized that the issue is the capitalization of the component's tagnames.
Thank you for an awesome project!
Stefan
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached Nested CamelCase Component Issue.ipynb and the VueComponentRegistry.vue_component_registry path, then trace register_component_from_string for nested tags. Done means the notebook works with CamelCase component tags, or the supported naming behavior is made explicit in the project documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100