public function getEditAction(Dynamic $form, Record $record, Table $table) { if (!$table->listableFields->count()) { $this->response()->notFound('Missing view field permissions.'); } $form->setTable($table); $form->setRecord($record); $form->initFields(); $form->populateFromRecord($record); $tableEntity = $table->createEntity(); if ($tableEntity->isTranslatable()) { $form->initLanguageFields(); } if ($tableEntity->isPermissionable()) { $form->initPermissionFields(); } $title = 'Edit ' . $record->title ?? $record->slug ?? $record->email ?? $record->num ?? $table->title; $formalize = $this->formalize($form, $record, $title); /** * We also have to return related tables. */ $tabs = $table->tabs; try { list($tabelizes, $functionizes) = $this->getTabelizesAndFunctionizes($tabs, $record, $table); } catch (Throwable $e) { $tabelizes = []; $functionizes = []; } /** * And build tabs ... */ if (!$tabs->count()) { /** * Return simple html without tabs. */ return view('edit/singular', ['formalize' => $formalize, 'tabelizes' => $tabelizes, 'functionizes' => $functionizes]); } ksort($tabelizes); ksort($functionizes); Tab::$dynamicRecord = $record; Tab::$dynamicTable = $table; /** * We have to build tabs. */ return view('edit/tabs', ['tabs' => $tabs, 'tabelizes' => $tabelizes, 'formalize' => $formalize, 'functionizes' => $functionizes]); }