groupByNamespace
API / @publicodes/forms / groupByNamespace
function groupByNamespace<Name>(fields): FormPages<Name>
Defined in: groupByNamespace.ts:39
Groups fields into pages based on their namespace hierarchy, ensuring related fields stay together. Useful when organizing form fields into logical sections or steps.
Type Parameters
Type Parameter |
---|
Name extends string |
Parameters
Parameter | Type | Description |
---|---|---|
fields | Name [] | Array of field names with dot-notation namespaces |
Returns
FormPages
<Name
>
Array of arrays, where each inner array represents a page containing related fields
Example
const fields = [
'company . name',
'personal . first name',
'stock . quantity',
'personal . last name'
'company . address',
];
const pages = groupByNamespace(fields);
// Result:
// [
// {
elements: ['company . name', 'company . address'],
title: 'company'
// },
// {
elements: ['personal . first name', 'personal . last name'],
title: 'personal'
// },
// {
elements: ['stock . quantity'],
title: 'stock'
// }
// ]