Sub-Pages — Membership Tabs¶
Part of: Sub-Pages guide See also: Table Tab | Routing
Prompt Template¶
Based on the sub-pages guide, generate a '<TAB_SECTION_NAME>' tab section for '<ENTITY_NAME>' with:
- IPA API object: `<entity>`
- Primary key: `<pk>`
- Parent pathname: `<entity-pathname>`
- Entity data type: `<EntityType>`
- Tabs (all standard, membership disabled):
- "<Tab Title>" (<member_type>) → <ComponentName>
What Agent Infers vs Must Specify¶
Inferred |
Must Specify |
|---|---|
Routes: |
Member types (IPA-specific) |
Component imports |
Custom components |
API: |
Membership disabled status |
Example (Standard Components)¶
Based on the sub-pages guide, generate a 'Members' tab section for 'Roles' with:
- IPA API object: `role`
- Primary key: `cn`
- Parent pathname: `roles`
- Entity data type: `Role`
- Tabs (all standard, membership disabled):
- "Users" (member_user) → MembersUsers
- "User groups" (member_group) → MembersUserGroups
For custom components, see 06c-membership-creating-new.md.
Relationship Types¶
Tab Type |
Direction |
Example |
|---|---|---|
|
Contains |
User Group → Users in group |
|
Belongs to |
User → Groups user is in |
|
Is managed by |
Service → Managing hosts |
|
Can manage |
User Group → Who can edit |
Reusable Components¶
src/components/Members/¶
MembersUsers, MembersUserGroups, MembersHosts, MembersHostGroups, MembersServices, MembersNetgroups, MembersExternal
src/components/MemberOf/¶
MemberOfUserGroups, MemberOfHostGroups, MemberOfNetgroups, MemberOfRoles, MemberOfHbacRules, MemberOfSudoRules
src/components/ManagedBy/¶
ManagedByHosts, ManagedByTableHosts
src/components/MemberManagers/¶
ManagersUsers, ManagersUserGroups
Usage¶
<Tab eventKey={"memberof_group"} title={<TabTitleText>User groups</TabTitleText>}>
<MemberOfUserGroups
entity={entity}
id={entity.<pk>}
from="<entity-type>"
isDataLoading={isDataLoading}
onRefreshData={onRefreshData}
/>
</Tab>
URL Structure¶
/<entity-path>/<entity-id>/<relationship>_<target-entity>
Example: /active-users/admin/memberof_group
Routes (AppRoutes.tsx)¶
<Route path=":cn">
<Route path="" element={<EntityTabs section="settings" />} />
<Route path="member_user" element={<EntityTabs section="member_user" />} />
</Route>
API Operations¶
Operation |
Command |
|---|---|
Add member |
|
Remove member |
|
Reference Implementations¶
src/pages/ActiveUsers/UserMemberOf.tsxsrc/pages/UserGroups/UserGroupsTabs.tsxsrc/pages/Hosts/HostsTabs.tsx