Version 1
[yaffs-website] / web / core / modules / config_translation / src / FormElement / Textarea.php
diff --git a/web/core/modules/config_translation/src/FormElement/Textarea.php b/web/core/modules/config_translation/src/FormElement/Textarea.php
new file mode 100644 (file)
index 0000000..ff9e4cd
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+
+namespace Drupal\config_translation\FormElement;
+
+use Drupal\Core\Language\LanguageInterface;
+
+/**
+ * Defines the textarea element for the configuration translation interface.
+ */
+class Textarea extends FormElementBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getTranslationElement(LanguageInterface $translation_language, $source_config, $translation_config) {
+    // Estimate a comfortable size of the input textarea.
+    $rows_words = ceil(str_word_count($translation_config) / 5);
+    $rows_newlines = substr_count($translation_config, "\n" ) + 1;
+    $rows = max($rows_words, $rows_newlines);
+
+    return [
+      '#type' => 'textarea',
+      '#rows' => $rows,
+    ] + parent::getTranslationElement($translation_language, $source_config, $translation_config);
+  }
+
+}