/** * Handle the form sections. * * @param FileEntryFormBuilder $builder */ public function handle(FileEntryFormBuilder $builder) { $entryForm = $builder->getChildForm('entry'); $fileForm = $builder->getChildForm('file'); /* @var EntryInterface $entry */ $entry = $entryForm->getFormEntry(); $builder->setSections([['tabs' => ['file' => ['title' => 'anomaly.module.files::tab.file', 'fields' => function () use($fileForm) { return array_map(function ($field) { return 'file_' . $field['field']; }, $fileForm->getFields()); }], 'fields' => ['title' => 'anomaly.module.files::tab.fields', 'fields' => function () use($entry) { return array_map(function ($slug) { return 'entry_' . $slug; }, $entry->getAssignmentFieldSlugs()); }]]]]); }