5 * Contains Drupal\Console\Generator\FormGenerator.
8 namespace Drupal\Console\Generator;
10 use Drupal\Console\Core\Generator\Generator;
11 use Drupal\Console\Extension\Manager;
12 use Drupal\Console\Core\Utils\StringConverter;
14 class FormGenerator extends Generator
19 protected $extensionManager;
22 * @var StringConverter
24 protected $stringConverter;
27 * AuthenticationProviderGenerator constructor.
29 * @param Manager $extensionManager
30 * @param StringConverter $stringConverter
32 public function __construct(
33 Manager $extensionManager,
34 StringConverter $stringConverter
36 $this->extensionManager = $extensionManager;
37 $this->stringConverter = $stringConverter;
48 * @param $menu_link_gen
49 * @param $menu_link_title
51 * @param $menu_link_desc
53 public function generate($module, $class_name, $form_id, $form_type, $services, $inputs, $path, $menu_link_gen, $menu_link_title, $menu_parent, $menu_link_desc)
55 $class_name_short = strtolower(
56 $this->stringConverter->removeSuffix($class_name)
60 'class_name' => $class_name,
61 'services' => $services,
63 'module_name' => $module,
64 'form_id' => $form_id,
66 'route_name' => $class_name,
67 'menu_link_title' => $menu_link_title,
68 'menu_parent' => $menu_parent,
69 'menu_link_desc' => $menu_link_desc,
70 'class_name_short' => $class_name_short
73 if ($form_type == 'ConfigFormBase') {
74 $template = 'module/src/Form/form-config.php.twig';
75 $parameters['config_form'] = true;
77 $template = 'module/src/Form/form.php.twig';
78 $parameters['config_form'] = false;
82 'module/routing-form.yml.twig',
83 $this->extensionManager->getModule($module)->getPath() .'/'.$module.'.routing.yml',
90 $this->extensionManager->getModule($module)->getFormPath() .'/'.$class_name.'.php',
94 // Render defaults YML file.
96 'module/config/install/field.default.yml.twig',
97 $this->extensionManager->getModule($module)->getPath() .'/config/install/'.$module.'.'.$class_name_short.'.yml',
101 if ($menu_link_gen == true) {
103 'module/links.menu.yml.twig',
104 $this->extensionManager->getModule($module)->getPath() . '/' . $module . '.links.menu.yml',