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;
49 * @param $menu_link_gen
50 * @param $menu_link_title
52 * @param $menu_link_desc
54 public function generate($module, $class_name, $form_id, $form_type, $services, $config_file, $inputs, $path, $menu_link_gen, $menu_link_title, $menu_parent, $menu_link_desc)
56 $class_name_short = strtolower(
57 $this->stringConverter->removeSuffix($class_name)
61 'class_name' => $class_name,
62 'services' => $services,
63 'config_file' => $config_file,
65 'module_name' => $module,
66 'form_id' => $form_id,
68 'route_name' => $class_name,
69 'menu_link_title' => $menu_link_title,
70 'menu_parent' => $menu_parent,
71 'menu_link_desc' => $menu_link_desc,
72 'class_name_short' => $class_name_short
75 if ($form_type == 'ConfigFormBase') {
76 $template = 'module/src/Form/form-config.php.twig';
77 $parameters['config_form'] = true;
79 $template = 'module/src/Form/form.php.twig';
80 $parameters['config_form'] = false;
84 'module/routing-form.yml.twig',
85 $this->extensionManager->getModule($module)->getPath() .'/'.$module.'.routing.yml',
92 $this->extensionManager->getModule($module)->getFormPath() .'/'.$class_name.'.php',
96 // Render defaults YML file.
97 if ($config_file == true) {
99 'module/config/install/field.default.yml.twig',
100 $this->extensionManager->getModule($module)->getPath() .'/config/install/'.$module.'.'.$class_name_short.'.yml',
105 if ($menu_link_gen == true) {
107 'module/links.menu.yml.twig',
108 $this->extensionManager->getModule($module)->getPath() . '/' . $module . '.links.menu.yml',