protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class_name = $input->getOption('class'); if (!$class_name) { $class_name = $io->ask($this->trans('commands.generate.plugin.imageeffect.questions.class'), 'DefaultImageEffect'); $input->setOption('class', $class_name); } // --label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.imageeffect.questions.label'), $this->stringConverter->camelCaseToHuman($class_name)); $input->setOption('label', $label); } // --plugin-id option $plugin_id = $input->getOption('plugin-id'); if (!$plugin_id) { $plugin_id = $io->ask($this->trans('commands.generate.plugin.imageeffect.questions.plugin-id'), $this->stringConverter->camelCaseToUnderscore($class_name)); $input->setOption('plugin-id', $plugin_id); } // --description option $description = $input->getOption('description'); if (!$description) { $description = $io->ask($this->trans('commands.generate.plugin.imageeffect.questions.description'), 'My Image Effect'); $input->setOption('description', $description); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class_name = $input->getOption('class'); if (!$class_name) { $class_name = $io->ask($this->trans('commands.generate.plugin.views.field.questions.class'), 'CustomViewsField'); } $input->setOption('class', $class_name); // --title option $title = $input->getOption('title'); if (!$title) { $title = $io->ask($this->trans('commands.generate.plugin.views.field.questions.title'), $this->stringConverter->camelCaseToHuman($class_name)); $input->setOption('title', $title); } // --description option $description = $input->getOption('description'); if (!$description) { $description = $io->ask($this->trans('commands.generate.plugin.views.field.questions.description'), $this->trans('commands.generate.plugin.views.field.questions.description_default')); $input->setOption('description', $description); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class = $input->getOption('class'); if (!$class) { $class = $io->ask($this->trans('commands.generate.plugin.mail.options.class'), 'HtmlFormatterMail', function ($class) { return $this->validator->validateClassName($class); }); $input->setOption('class', $class); } // --label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.mail.options.label'), $this->stringConverter->camelCaseToHuman($class)); $input->setOption('label', $label); } // --plugin-id option $pluginId = $input->getOption('plugin-id'); if (!$pluginId) { $pluginId = $io->ask($this->trans('commands.generate.plugin.mail.options.plugin-id'), $this->stringConverter->camelCaseToUnderscore($class)); $input->setOption('plugin-id', $pluginId); } // --services option // @see Drupal\Console\Command\Shared\ServicesTrait::servicesQuestion $services = $this->servicesQuestion($io); $input->setOption('services', $services); }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class_name = $input->getOption('class'); if (!$class_name) { $class_name = $io->ask($this->trans('commands.generate.plugin.type.annotation.options.class'), 'ExamplePlugin'); $input->setOption('class', $class_name); } // --machine-name option $machine_name = $input->getOption('machine-name'); if (!$machine_name) { $machine_name = $io->ask($this->trans('commands.generate.plugin.type.annotation.options.machine-name'), $this->stringConverter->camelCaseToUnderscore($class_name)); $input->setOption('machine-name', $machine_name); } // --label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.type.annotation.options.label'), $this->stringConverter->camelCaseToHuman($class_name)); $input->setOption('label', $label); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); $entityTypeRepository = $this->entitytyperepository; $entity_types = $entityTypeRepository->getEntityTypeLabels(true); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); } $input->setOption('module', $module); // --class option $class = $input->getOption('class'); if (!$class) { $class = $io->ask($this->trans('commands.generate.plugin.condition.questions.class'), 'ExampleCondition'); $input->setOption('class', $class); } // --plugin label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.condition.questions.label'), $this->stringConverter->camelCaseToHuman($class)); $input->setOption('label', $label); } // --plugin-id option $pluginId = $input->getOption('plugin-id'); if (!$pluginId) { $pluginId = $io->ask($this->trans('commands.generate.plugin.condition.questions.plugin-id'), $this->stringConverter->camelCaseToUnderscore($class)); $input->setOption('plugin-id', $pluginId); } $context_definition_id = $input->getOption('context-definition-id'); if (!$context_definition_id) { $context_type = array('language' => 'Language', "entity" => "Entity"); $context_type_sel = $io->choice($this->trans('commands.generate.plugin.condition.questions.context-type'), array_values($context_type)); $context_type_sel = array_search($context_type_sel, $context_type); if ($context_type_sel == 'language') { $context_definition_id = $context_type_sel; $context_definition_id_value = ucfirst($context_type_sel); } else { $content_entity_types_sel = $io->choice($this->trans('commands.generate.plugin.condition.questions.context-entity-type'), array_keys($entity_types)); $contextDefinitionIdList = $entity_types[$content_entity_types_sel]; $context_definition_id_sel = $io->choice($this->trans('commands.generate.plugin.condition.questions.context-definition-id'), array_values($contextDefinitionIdList)); $context_definition_id_value = array_search($context_definition_id_sel, $contextDefinitionIdList); $context_definition_id = 'entity:' . $context_definition_id_value; } $input->setOption('context-definition-id', $context_definition_id); } $context_definition_label = $input->getOption('context-definition-label'); if (!$context_definition_label) { $context_definition_label = $io->ask($this->trans('commands.generate.plugin.condition.questions.context-definition-label'), $context_definition_id_value ?: null); $input->setOption('context-definition-label', $context_definition_label); } $context_definition_required = $input->getOption('context-definition-required'); if (empty($context_definition_required)) { $context_definition_required = $io->confirm($this->trans('commands.generate.plugin.condition.questions.context-definition-required'), true); $input->setOption('context-definition-required', $context_definition_required); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); $theme = $this->configFactory->get('system.theme')->get('default'); $themeRegions = \system_region_list($theme, REGIONS_VISIBLE); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class = $input->getOption('class'); if (!$class) { $class = $io->ask($this->trans('commands.generate.plugin.block.options.class'), 'DefaultBlock', function ($class) { return $this->validator->validateClassName($class); return $this->validator->validateClassName($class); }); $input->setOption('class', $class); } // --label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.block.options.label'), $this->stringConverter->camelCaseToHuman($class)); $input->setOption('label', $label); } // --plugin-id option $pluginId = $input->getOption('plugin-id'); if (!$pluginId) { $pluginId = $io->ask($this->trans('commands.generate.plugin.block.options.plugin-id'), $this->stringConverter->camelCaseToUnderscore($class)); $input->setOption('plugin-id', $pluginId); } // --theme-region option $themeRegion = $input->getOption('theme-region'); if (!$themeRegion) { $themeRegion = $io->choiceNoList($this->trans('commands.generate.plugin.block.options.theme-region'), array_values($themeRegions), null, true); $themeRegion = array_search($themeRegion, $themeRegions); $input->setOption('theme-region', $themeRegion); } // --services option // @see Drupal\Console\Command\Shared\ServicesTrait::servicesQuestion $services = $this->servicesQuestion($io); $input->setOption('services', $services); $output->writeln($this->trans('commands.generate.plugin.block.messages.inputs')); // @see Drupal\Console\Command\Shared\FormTrait::formQuestion $inputs = $this->formQuestion($io); $input->setOption('inputs', $inputs); }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class_name = $input->getOption('class'); if (!$class_name) { $stringUtils = $this->stringConverter; $class_name = $io->ask($this->trans('commands.generate.plugin.rest.resource.questions.class'), 'DefaultRestResource', function ($class_name) use($stringUtils) { if (!strlen(trim($class_name))) { throw new \Exception('The Class name can not be empty'); } return $stringUtils->humanToCamelCase($class_name); }); $input->setOption('class', $class_name); } // --plugin-id option $plugin_id = $input->getOption('plugin-id'); if (!$plugin_id) { $plugin_id = $io->ask($this->trans('commands.generate.plugin.rest.resource.questions.plugin-id'), $this->stringConverter->camelCaseToUnderscore($class_name)); $input->setOption('plugin-id', $plugin_id); } // --plugin-label option $plugin_label = $input->getOption('plugin-label'); if (!$plugin_label) { $plugin_label = $io->ask($this->trans('commands.generate.plugin.rest.resource.questions.plugin-label'), $this->stringConverter->camelCaseToHuman($class_name)); $input->setOption('plugin-label', $plugin_label); } // --plugin-url option $plugin_url = $input->getOption('plugin-url'); if (!$plugin_url) { $plugin_url = $io->ask($this->trans('commands.generate.plugin.rest.resource.questions.plugin-url')); $input->setOption('plugin-url', $plugin_url); } // --plugin-states option $plugin_states = $input->getOption('plugin-states'); if (!$plugin_states) { $states = array('GET', 'PUT', 'POST', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'); $plugin_states = $io->choice($this->trans('commands.generate.plugin.rest.resource.questions.plugin-states'), $states, null, true); $input->setOption('plugin-states', $plugin_states); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class_name = $input->getOption('class'); if (!$class_name) { $class_name = $io->ask($this->trans('commands.generate.plugin.rulesaction.options.class'), 'DefaultAction'); $input->setOption('class', $class_name); } // --label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.rulesaction.options.label'), $this->stringConverter->camelCaseToHuman($class_name)); $input->setOption('label', $label); } // --plugin-id option $plugin_id = $input->getOption('plugin-id'); if (!$plugin_id) { $plugin_id = $io->ask($this->trans('commands.generate.plugin.rulesaction.options.plugin-id'), $this->stringConverter->camelCaseToUnderscore($class_name)); $input->setOption('plugin-id', $plugin_id); } // --type option $type = $input->getOption('type'); if (!$type) { $type = $io->ask($this->trans('commands.generate.plugin.rulesaction.options.type'), 'user'); $input->setOption('type', $type); } // --category option $category = $input->getOption('category'); if (!$category) { $category = $io->ask($this->trans('commands.generate.plugin.rulesaction.options.category'), $this->stringConverter->camelCaseToUnderscore($class_name)); $input->setOption('category', $category); } // --context option $context = $input->getOption('context'); if (!$context) { $context = $io->ask($this->trans('commands.generate.plugin.rulesaction.options.context'), $this->stringConverter->camelCaseToUnderscore($class_name)); $input->setOption('context', $context); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class = $input->getOption('class'); if (!$class) { $class = $io->ask($this->trans('commands.generate.plugin.fieldformatter.questions.class'), 'ExampleFieldFormatter'); $input->setOption('class', $class); } // --plugin label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.fieldformatter.questions.label'), $this->stringConverter->camelCaseToHuman($class)); $input->setOption('label', $label); } // --name option $plugin_id = $input->getOption('plugin-id'); if (!$plugin_id) { $plugin_id = $io->ask($this->trans('commands.generate.plugin.fieldformatter.questions.plugin-id'), $this->stringConverter->camelCaseToUnderscore($class)); $input->setOption('plugin-id', $plugin_id); } // --field type option $field_type = $input->getOption('field-type'); if (!$field_type) { // Gather valid field types. $field_type_options = []; foreach ($this->fieldTypePluginManager->getGroupedDefinitions($this->fieldTypePluginManager->getUiDefinitions()) as $category => $field_types) { foreach ($field_types as $name => $field_type) { $field_type_options[] = $name; } } $field_type = $io->choice($this->trans('commands.generate.plugin.fieldwidget.questions.field-type'), $field_type_options); $input->setOption('field-type', $field_type); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --class option $class_name = $input->getOption('class'); if (!$class_name) { $class_name = $io->ask($this->trans('commands.generate.plugin.ckeditorbutton.questions.class'), 'DefaultCKEditorButton'); $input->setOption('class', $class_name); } // --label option $label = $input->getOption('label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.ckeditorbutton.questions.label'), $this->stringConverter->camelCaseToHuman($class_name)); $input->setOption('label', $label); } // --plugin-id option $plugin_id = $input->getOption('plugin-id'); if (!$plugin_id) { $plugin_id = $io->ask($this->trans('commands.generate.plugin.ckeditorbutton.questions.plugin-id'), $this->stringConverter->camelCaseToLowerCase($label)); $input->setOption('plugin-id', $plugin_id); } // --button-name option $button_name = $input->getOption('button-name'); if (!$button_name) { $button_name = $io->ask($this->trans('commands.generate.plugin.ckeditorbutton.questions.button-name'), $this->stringConverter->anyCaseToUcFirst($plugin_id)); $input->setOption('button-name', $button_name); } // --button-icon-path option $button_icon_path = $input->getOption('button-icon-path'); if (!$button_icon_path) { $button_icon_path = $io->ask($this->trans('commands.generate.plugin.ckeditorbutton.questions.button-icon-path'), drupal_get_path('module', $module) . '/js/plugins/' . $plugin_id . '/images/icon.png'); $input->setOption('button-icon-path', $button_icon_path); } }
protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --type-class option $typeClass = $input->getOption('type-class'); if (!$typeClass) { $typeClass = $io->ask($this->trans('commands.generate.plugin.field.questions.type-class'), 'ExampleFieldType'); $input->setOption('type-class', $typeClass); } // --type-label option $label = $input->getOption('type-label'); if (!$label) { $label = $io->ask($this->trans('commands.generate.plugin.field.questions.type-label'), $this->stringConverter->camelCaseToHuman($typeClass)); $input->setOption('type-label', $label); } // --type-plugin-id option $plugin_id = $input->getOption('type-plugin-id'); if (!$plugin_id) { $plugin_id = $io->ask($this->trans('commands.generate.plugin.field.questions.type-plugin-id'), $this->stringConverter->camelCaseToUnderscore($typeClass)); $input->setOption('type-plugin-id', $plugin_id); } // --type-description option $description = $input->getOption('type-description'); if (!$description) { $description = $io->ask($this->trans('commands.generate.plugin.field.questions.type-description'), 'My Field Type'); $input->setOption('type-description', $description); } // --widget-class option $widgetClass = $input->getOption('widget-class'); if (!$widgetClass) { $widgetClass = $io->ask($this->trans('commands.generate.plugin.field.questions.widget-class'), 'ExampleWidgetType'); $input->setOption('widget-class', $widgetClass); } // --widget-label option $widgetLabel = $input->getOption('widget-label'); if (!$widgetLabel) { $widgetLabel = $io->ask($this->trans('commands.generate.plugin.field.questions.widget-label'), $this->stringConverter->camelCaseToHuman($widgetClass)); $input->setOption('widget-label', $widgetLabel); } // --widget-plugin-id option $widget_plugin_id = $input->getOption('widget-plugin-id'); if (!$widget_plugin_id) { $widget_plugin_id = $io->ask($this->trans('commands.generate.plugin.field.questions.widget-plugin-id'), $this->stringConverter->camelCaseToUnderscore($widgetClass)); $input->setOption('widget-plugin-id', $widget_plugin_id); } // --formatter-class option $formatterClass = $input->getOption('formatter-class'); if (!$formatterClass) { $formatterClass = $io->ask($this->trans('commands.generate.plugin.field.questions.formatter-class'), 'ExampleFormatterType'); $input->setOption('formatter-class', $formatterClass); } // --formatter-label option $formatterLabel = $input->getOption('formatter-label'); if (!$formatterLabel) { $formatterLabel = $io->ask($this->trans('commands.generate.plugin.field.questions.formatter-label'), $this->stringConverter->camelCaseToHuman($formatterClass)); $input->setOption('formatter-label', $formatterLabel); } // --formatter-plugin-id option $formatter_plugin_id = $input->getOption('formatter-plugin-id'); if (!$formatter_plugin_id) { $formatter_plugin_id = $io->ask($this->trans('commands.generate.plugin.field.questions.formatter-plugin-id'), $this->stringConverter->camelCaseToUnderscore($formatterClass)); $input->setOption('formatter-plugin-id', $formatter_plugin_id); } // --field-type option $field_type = $input->getOption('field-type'); if (!$field_type) { $field_type = $io->ask($this->trans('commands.generate.plugin.field.questions.field-type'), $plugin_id); $input->setOption('field-type', $field_type); } // --default-widget option $default_widget = $input->getOption('default-widget'); if (!$default_widget) { $default_widget = $io->ask($this->trans('commands.generate.plugin.field.questions.default-widget'), $widget_plugin_id); $input->setOption('default-widget', $default_widget); } // --default-formatter option $default_formatter = $input->getOption('default-formatter'); if (!$default_formatter) { $default_formatter = $io->ask($this->trans('commands.generate.plugin.field.questions.default-formatter'), $formatter_plugin_id); $input->setOption('default-formatter', $default_formatter); } }