class TranslatorPluginUiBase

Default ui controller class for translator plugins.

Hierarchy

Expanded class hierarchy of TranslatorPluginUiBase

Related topics

3 files declare their use of TranslatorPluginUiBase
FileTranslatorUi.php in translators/tmgmt_file/src/FileTranslatorUi.php
LocalTranslatorUi.php in translators/tmgmt_local/src/LocalTranslatorUi.php
TestTranslatorUi.php in tmgmt_test/src/TestTranslatorUi.php

File

src/TranslatorPluginUiBase.php, line 15

Namespace

Drupal\tmgmt
View source
class TranslatorPluginUiBase extends PluginBase implements TranslatorPluginUiInterface {

  /**
   * {@inheritdoc}
   */
  public function checkoutSettingsForm(array $form, FormStateInterface $form_state, JobInterface $job) {
    if (!Element::children($form)) {
      $form['#description'] = t("The @translator translator doesn't provide any checkout settings.", array(
        '@translator' => $job
          ->getTranslator()
          ->label(),
      ));
    }
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function checkoutInfo(JobInterface $job) {
    return array();
  }

  /**
   * Provides a simple wrapper for the checkout info fieldset.
   *
   * @param \Drupal\tmgmt\JobInterface $job
   *   Translation job object.
   * @param $form
   *   Partial form structure to be wrapped in the fieldset.
   *
   * @return
   *   The provided form structure wrapped in a collapsed fieldset.
   */
  public function checkoutInfoWrapper(JobInterface $job, $form) {
    $label = $job
      ->getTranslator()
      ->label();
    $form += array(
      '#title' => t('@translator translation job information', array(
        '@translator' => $label,
      )),
      '#type' => 'details',
      '#open' => FALSE,
    );
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function reviewForm(array $form, FormStateInterface $form_state, JobItemInterface $item) {
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function reviewDataItemElement(array $form, FormStateInterface $form_state, $data_item_key, $parent_key, array $data_item, JobItemInterface $item) {
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function reviewFormValidate(array $form, FormStateInterface $form_state, JobItemInterface $item) {

    // Nothing to do here by default.
  }

  /**
   * {@inheritdoc}
   */
  public function reviewFormSubmit(array $form, FormStateInterface $form_state, JobItemInterface $item) {

    // Nothing to do here by default.
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    return $form;
  }

  /**
   * Handles submit call of "Connect" button.
   */
  public function submitConnect(array $form, FormStateInterface $form_state) {

    // When this method is called the form already passed validation and we can
    // assume that credentials are valid.
    $this
      ->messenger()
      ->addStatus(t('Successfully connected!'));
  }

  /**
   * Adds a "Connect" button to a form.
   *
   * @return array
   *   A form array containing "Connect" button.
   */
  public function addConnectButton() {
    $form['connect'] = array(
      '#type' => 'submit',
      '#value' => t('Connect'),
      '#submit' => [
        [
          TranslatorForm::class,
          'updateRemoteLanguagesMappings',
        ],
        [
          $this,
          'submitConnect',
        ],
      ],
      '#limit_validation_errors' => array(
        array(
          'settings',
        ),
      ),
      '#executes_submit_callback' => TRUE,
      '#ajax' => [
        'callback' => [
          TranslatorForm::class,
          'ajaxTranslatorPluginSelect',
        ],
        'wrapper' => 'tmgmt-plugin-wrapper',
      ],
    );
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {

    // Nothing to do here by default.
  }

  /**
   * {@inheritdoc}
   */
  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {

    // Nothing to do here by default.
  }

}

Members

Namesort descending Modifiers Type Description Overrides
TranslatorPluginUiBase::addConnectButton public function Adds a "Connect" button to a form.
TranslatorPluginUiBase::buildConfigurationForm public function Overrides TranslatorPluginUiInterface::buildConfigurationForm 2
TranslatorPluginUiBase::checkoutInfo public function Retrieves information about a translation job. Overrides TranslatorPluginUiInterface::checkoutInfo 2
TranslatorPluginUiBase::checkoutInfoWrapper public function Provides a simple wrapper for the checkout info fieldset.
TranslatorPluginUiBase::checkoutSettingsForm public function Form callback for the checkout settings form. Overrides TranslatorPluginUiInterface::checkoutSettingsForm 3
TranslatorPluginUiBase::reviewDataItemElement public function Form callback for the data item element form. Overrides TranslatorPluginUiInterface::reviewDataItemElement 1
TranslatorPluginUiBase::reviewForm public function Form callback for the job item review form. Overrides TranslatorPluginUiInterface::reviewForm
TranslatorPluginUiBase::reviewFormSubmit public function Submit callback for the job item review form. Overrides TranslatorPluginUiInterface::reviewFormSubmit
TranslatorPluginUiBase::reviewFormValidate public function Validation callback for the job item review form. Overrides TranslatorPluginUiInterface::reviewFormValidate
TranslatorPluginUiBase::submitConfigurationForm public function Overrides TranslatorPluginUiInterface::submitConfigurationForm
TranslatorPluginUiBase::submitConnect public function Handles submit call of "Connect" button.
TranslatorPluginUiBase::validateConfigurationForm public function Overrides TranslatorPluginUiInterface::validateConfigurationForm