[ 'title' => 'Root Nodes', 'dataClass' => RootNode::class, ], 'non-relational-data' => [ 'title' => 'Non-Relational Data', 'dataClass' => NonRelationalData::class, ], ]; protected function getGridFieldConfig(): GridFieldConfig { $config = parent::getGridFieldConfig(); if ($this->modelClass === RootNode::class) { $config->addComponent(GridFieldNestedForm::create()->setRelationName('BranchNodes')); } else if ($this->modelClass === NonRelationalData::class) { $config->addComponent(GridFieldNestedForm::create()->setRelationName('getList')); } else { throw new RuntimeException("Unexpected Model name: {$this->tab}"); } return $config; } }