You are here

public function ComponentGenerateForm::submitWriteSingle in Module Builder 8.3

Submit handler to write a single file.

File

src/Form/ComponentGenerateForm.php, line 284

Class

ComponentGenerateForm
Form showing generated component code.

Namespace

Drupal\module_builder\Form

Code

public function submitWriteSingle(array $form, FormStateInterface $form_state) {
  $button = $form_state
    ->getTriggeringElement();
  $button_array_parents = $button['#array_parents'];
  $file_key = $button_array_parents[1];
  $file_contents = $form_state
    ->get([
    'files',
    $file_key,
  ]);
  $drupal_relative_module_dir = \Drupal::service('module_builder.module_file_writer')
    ->getRelativeModuleFolder($this->entity
    ->id());
  $result = \Drupal::service('module_builder.module_file_writer')
    ->writeSingleFile($drupal_relative_module_dir, $file_key, $file_contents);
  if ($result) {
    $this
      ->messenger()
      ->addStatus(t("Written file @file to folder @folder.", [
      '@file' => $file_key,
      '@folder' => $drupal_relative_module_dir,
    ]));
  }
  else {
    $this
      ->messenger()
      ->addError(t("Problem writing file @file", [
      '@file' => $file_key,
    ]));
  }
}