You are here

public function Acquiadam::buildConfigurationForm in Media: Acquia DAM 8

@todo Add more settings for configuring this widget.

File

src/Plugin/EntityBrowser/Widget/Acquiadam.php, line 125

Class

Acquiadam
Uses a view to provide entity listing in a browser's widget.

Namespace

Drupal\media_acquiadam\Plugin\EntityBrowser\Widget

Code

public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
  $form = parent::buildConfigurationForm($form, $form_state);
  $media_type_options = [];
  $media_types = $this->entityTypeManager
    ->getStorage('media_type')
    ->loadByProperties([
    'source' => 'acquiadam_asset',
  ]);
  foreach ($media_types as $media_type) {
    $media_type_options[$media_type
      ->id()] = $media_type
      ->label();
  }
  if (empty($media_type_options)) {
    $url = Url::fromRoute('entity.media_type.add_form')
      ->toString();
    $form['media_type'] = [
      '#markup' => $this
        ->t("You don't have media type of the Acquia DAM asset type. You should <a href='!link'>create one</a>", [
        '!link' => $url,
      ]),
    ];
  }
  else {
    $form['media_type'] = [
      '#type' => 'select',
      '#title' => $this
        ->t('Media type'),
      '#default_value' => $this->configuration['media_type'],
      '#options' => $media_type_options,
    ];
  }
  return $form;
}