Component groups: allowedComponents by component name, and what an empty list means
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- nuxt, typescript
- Domain
- documentation
Research direction
Start from the component group documentation and use the CwaComponentGroup examples in this issue as the reference for the recommended syntax. Document CwaComponentNames, all three allowed-components states, validation implications, and the upgrade behavior for groups without a stored list. Done means the docs cover each listed case and the upgrade note accurately.
Written by the indexing model from the issue text.
Description
Source: components-web-app/cwa-nuxt-module#352 and #351.
What changed
Component names (#352). <CwaComponentGroup :allowed-components> accepts component names as well as collection IRIs:
<CwaComponentGroup reference="main" :location="publishedIri" :allowed-components="[CwaComponentNames.HtmlContent, CwaComponentNames.WatchPastConference]" />
<!-- identical -->
<CwaComponentGroup reference="main" :location="publishedIri" :allowed-components="['HtmlContent', 'WatchPastConference']" />
CwaComponentNames(constant) andCwaComponentName(type) are generated from eachapp/cwa/components/<Name>/<Name>.vueand auto-imported. Editors complete them, andvue-tscrejects a typo or a removed component.- Names are resolved to endpoints at runtime from the API docs. If a name matches no API component, a warning is logged and the group is not synced.
- Collection IRIs (
'/component/html_contents') still work, alone or mixed with names.
Groups with no stored list (#351). Groups created by fixtures or the REST API without a list now receive the template's list on the first signed-in load.
To document
- Names as the recommended form in the component group docs, with the constant.
- The three states of the prop:
- a complete list — must name every type already placed in the group, plus any
#[ExplicitAllowOnly]type to offer. A placed type missing from the list fails validation on its next save. - omitted — leaves the stored list as it is.
nullor[]— unrestricted (explicit-only types stay hidden).
- a complete list — must name every type already placed in the group, plus any
- Upgrade note: groups that never had a list will be PATCHed with the template's list on the first admin load, so check the lists are complete first.
- Dominant language
- Vue
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
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 components-web-app/docs
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
components-web-app/docs#119 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
components-web-app/docs#1 · 2 comments ·
All issues in components-web-app/docs
Similar issues
-
Link Checker ReportOpenautomated issue report
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
[Feature]: Remove Kanboard Discourse forum link from README.md and CONTRIBUTING.md, or moderate itOpen
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
docs
Difficulty 1/5 Under an hour Newbie friendliness 68/100
remix-run/react-router#15558 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
supabase/agent-skills#607 ·