h2oai / h2oai/wave

Give all widgets the name parameter

Open
#2,350 4 comments 2 reactions 0 assignees View on GitHub
chore feature good first issue
Dominant language
Python
Stars
4.3k
Forks
371
Avg merge
26d 1h
Merged PRs (30d)
1

Description

#### Is your feature request related to a problem? Please describe

It is very common to update parameters of components throughout the app usage lifecycle. This is most easily done with the `name` parameter, but not every component has that parameter. This means new-er users to the framework will learn about updating with the name component: `q.page["test"].my_component.content = "hey"` but then have no idea what to do when name is not there.

They can ("of course") use the old index method: `q.page["test"].items[2].textbox.value="hey"` but this is harder and often Wave users that joined after the 1.0.0 release will not know about this.

#### Describe the solution you'd like
- [ ] An audit of all components to make a list of everything that does not have `name` as a parameter
- [ ] Add `name` as a parameter to all of these

#### Describe alternatives you've considered

* Leave things as is, monitor chats and teach people about the old method
* Write new docs with key words that people might find when they try to update things like `image`

#### Additional context

Resolved question: https://github.com/h2oai/wave/discussions/2338

Contributor guide

Open the contributing guide

Research direction

Begin by inventorying every widget and component definition and identifying which lack a name parameter. Determine the scope of the audit and verify the update path for each affected component. Done means all components support name consistently and the resulting behavior is covered by the project's existing validation or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.