Skip to content

Commit eaf3ca3

Browse files
committed
revert
1 parent 8e811ec commit eaf3ca3

File tree

1 file changed

+56
-42
lines changed

1 file changed

+56
-42
lines changed

src/ModuleAdmin.php

Lines changed: 56 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -19,63 +19,77 @@ class Admin extends ModelAdmin {
1919
Module::class
2020
);
2121

22-
public function getEditForm($id = null, $fields = null)
23-
{
24-
// Get the default form
22+
public function getEditForm($id = null, $fields = null){
2523
$form = parent::getEditForm($id, $fields);
2624

27-
// GridField name (ModelAdmin sanitises the class)
2825
$gridFieldName = $this->sanitiseClassName(Module::class);
26+
$gridField = $form->Fields()->fieldByName($gridFieldName);
2927

30-
// Locate the GridField
31-
$gridField = $form->Fields()->fieldByName("$gridFieldName");
32-
if (!$gridField) {
33-
return $form;
34-
}
28+
// Swap out our "Add" button for the multiclass Add
29+
$gridField->getConfig()->addComponent(new GridFieldAddNewMultiClass());
30+
$gridField->getConfig()->removeComponentsByType(GridFieldAddNewButton::class);
3531

36-
$config = $gridField->getConfig();
32+
return $form;
33+
}
34+
35+
// public function getEditForm($id = null, $fields = null)
36+
// {
37+
// // Get the default form
38+
// $form = parent::getEditForm($id, $fields);
3739

38-
// --- Remove default Add button ---
39-
$config->removeComponentsByType(GridFieldAddNewButton::class);
40+
// // GridField name (ModelAdmin sanitises the class)
41+
// $gridFieldName = $this->sanitiseClassName(Module::class);
4042

41-
// --- Remove GridFieldExtensions DetailForm hook that breaks MultiClass ---
42-
$config->removeComponentsByType(
43-
GridFieldDetailFormItemRequestExtension::class
44-
);
43+
// // Locate the GridField
44+
// $gridField = $form->Fields()->fieldByName("Root.$gridFieldName");
45+
// if (!$gridField) {
46+
// return $form;
47+
// }
4548

46-
// --- Create MultiClass Add component ---
47-
$multiClass = new GridFieldAddNewMultiClass();
49+
// $config = $gridField->getConfig();
4850

49-
// --- Get list of classes dynamically ---
50-
$classes = [];
51+
// // --- Remove default Add button ---
52+
// $config->removeComponentsByType(GridFieldAddNewButton::class);
5153

52-
foreach (ClassInfo::subclassesFor(Module::class) as $class) {
53-
if ($class === Module::class) {
54-
continue;
55-
}
54+
// // --- Remove GridFieldExtensions DetailForm hook that breaks MultiClass ---
55+
// $config->removeComponentsByType(
56+
// GridFieldDetailFormItemRequestExtension::class
57+
// );
5658

57-
// Skip abstract classes
58-
if ((new \ReflectionClass($class))->isAbstract()) {
59-
continue;
60-
}
59+
// // --- Create MultiClass Add component ---
60+
// $multiClass = new GridFieldAddNewMultiClass();
6161

62-
// Only include classes that can be created
63-
if (!(singleton($class)->canCreate())) {
64-
continue;
65-
}
62+
// // --- Get list of classes dynamically ---
63+
// $classes = [];
6664

67-
$classes[$class] = singleton($class)->i18n_singular_name();
68-
}
65+
// foreach (ClassInfo::subclassesFor(Module::class) as $class) {
66+
// if ($class === Module::class) {
67+
// continue;
68+
// }
6969

70-
// Optional: allow project to override/extend via config
71-
$configClasses = Config::forClass(self::class)->get('slide_classes') ?? [];
72-
$classes = array_merge($classes, $configClasses);
70+
// // Skip abstract classes
71+
// if ((new \ReflectionClass($class))->isAbstract()) {
72+
// continue;
73+
// }
7374

74-
$multiClass->setClasses($classes);
75+
// // Only include classes that can be created
76+
// if (!(singleton($class)->canCreate())) {
77+
// continue;
78+
// }
7579

76-
// Add to GridField
77-
$config->addComponent($multiClass);
80+
// $classes[$class] = singleton($class)->i18n_singular_name();
81+
// }
82+
83+
// // Optional: allow project to override/extend via config
84+
// $configClasses = Config::forClass(self::class)->get('slide_classes') ?? [];
85+
// $classes = array_merge($classes, $configClasses);
86+
87+
// $multiClass->setClasses($classes);
88+
89+
// // Add to GridField
90+
// $config->addComponent($multiClass);
91+
92+
// return $form;
93+
// }
7894

79-
return $form;
80-
}
8195
}

0 commit comments

Comments
 (0)