Version 1
[yaffs-website] / web / modules / contrib / environment_indicator / src / EnvironmentIndicatorForm.php
diff --git a/web/modules/contrib/environment_indicator/src/EnvironmentIndicatorForm.php b/web/modules/contrib/environment_indicator/src/EnvironmentIndicatorForm.php
new file mode 100644 (file)
index 0000000..1204b81
--- /dev/null
@@ -0,0 +1,70 @@
+<?php
+
+namespace Drupal\environment_indicator;
+
+
+use Drupal\Core\Entity\EntityForm;
+use Drupal\Core\Form\FormStateInterface;
+
+class EnvironmentIndicatorForm extends EntityForm {
+
+  /**
+   * This actually builds your form.
+   */
+  public function form(array $form, FormStateInterface $form_state) {
+    /* @var \Drupal\environment_indicator\Entity\EnvironmentIndicator $environment_switcher */
+    $environment_switcher = $this->getEntity();
+
+    $form['name'] = [
+      '#type' => 'textfield',
+      '#title' => t('Name'),
+      '#default_value' => $environment_switcher->label(),
+    ];
+    $form['machine'] = [
+      '#type' => 'machine_name',
+      '#machine_name' => [
+        'source' => ['name'],
+        'exists' => 'environment_indicator_load',
+      ],
+      '#default_value' => $environment_switcher->id(),
+      '#disabled' => !empty($environment_switcher->machine),
+    ];
+    $form['url'] = [
+      '#type' => 'url',
+      '#title' => t('Hostname'),
+      '#description' => t('The hostname you want to switch to.'),
+      '#default_value' => $environment_switcher->getUrl(),
+    ];
+    $form['bg_color'] = [
+      '#type' => 'color',
+      '#title' => t('Background Color'),
+      '#description' => t('Background color for the indicator. Ex: #0D0D0D.'),
+      '#default_value' => $environment_switcher->getBgColor() ?: '#0D0D0D',
+    ];
+    $form['fg_color'] = [
+      '#type' => 'color',
+      '#title' => t('Color'),
+      '#description' => t('Color for the indicator. Ex: #D0D0D0.'),
+      '#default_value' => $environment_switcher->getFgColor() ?: '#D0D0D0',
+    ];
+
+    return $form;
+  }
+
+  /**
+   * Save your config entity.
+   *
+   * There will eventually be default code to rely on here, but it doesn't exist
+   * yet.
+   */
+  public function save(array $form, FormStateInterface $form_state) {
+    $environment = $this->getEntity();
+    $environment->save();
+    drupal_set_message(t('Saved the %label environment.', [
+      '%label' => $environment->label(),
+    ]));
+
+    $form_state->setRedirect('entity.environment_indicator.collection');
+  }
+
+}