mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
prevent recursive function from walking the same branch multiple times (#13231)
This commit is contained in:
@@ -296,14 +296,15 @@ export default defineComponent({
|
||||
);
|
||||
}
|
||||
|
||||
function getFieldsForGroup(group: null | string): Field[] {
|
||||
function getFieldsForGroup(group: null | string, passed: string[] = []): Field[] {
|
||||
const fieldsInGroup: Field[] = fieldsParsed.value.filter(
|
||||
(field) => field.meta?.group === group || (group === null && isNil(field.meta))
|
||||
);
|
||||
|
||||
for (const field of fieldsInGroup) {
|
||||
if (field.meta?.special?.includes('group')) {
|
||||
fieldsInGroup.push(...getFieldsForGroup(field.meta!.field));
|
||||
if (field.meta?.special?.includes('group') && !passed.includes(field.meta!.field)) {
|
||||
passed.push(field.meta!.field);
|
||||
fieldsInGroup.push(...getFieldsForGroup(field.meta!.field, passed));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user