[Blazor] NimbleSelect improperly inheriting from NimbleInputBase<string>
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Start by locating the Blazor NimbleSelect component and its NimbleInputBase inheritance. Compare the preferred generic TValue approach with the current component API and the raw web component and Angular representation mentioned in the issue. Done means NimbleSelect supports non-string value types without unnecessary boxing and its existing behavior remains covered.
Written by the indexing model from the issue text.
Description
🧹 Tech Debt
The NimbleSelect component shouldn't be forced into having a Value of type string, as this isn't the case for the raw web-component, nor its Angular representation.
Possible alternatives to the current implementation are:
-
Change its inherited type from
NimbleInputBase<string>toNimbleInputBase<object>Cons: Unnecessary boxing of values that are primitive types.
-
Preferred approach Allow the
NimbleSelectto specify the type parameter (i.e.NimbleSelect->NimbleSelect<TValue>).Pros: No boxing of primitive values (i.e. when using something like
NimbleSelect<double>)Cons:
Presents generic API at the component level, which doesn't exist in other platform component APIs (e.g. Angular).(this does exist for Angular CVA, for example dialog close reason) NOTE: That said, this type of API might be expected for a C# developer.
- Dominant language
- TypeScript
- Stars
- 39
- Forks
- 14
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 13
Contributor guide
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.
More from ni/nimble
-
bug triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
-
bug triage
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
blocked bug triage
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·