Verified Commit 88aafb36 authored by Dave Long's avatar Dave Long
Browse files

Issue #3037204 by starlight-sparkle, atowl, dww, kim.pepper: If upload...

Issue #3037204 by starlight-sparkle, atowl, dww, kim.pepper: If upload progress extension is not available, disable the file field widget settings
parent 372168be
Loading
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
use Drupal\Core\Render\Element;
use Drupal\Core\Render\ElementInfoManagerInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\Url;
use Drupal\file\Element\ManagedFile;
use Drupal\file\Entity\File;
use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -60,6 +61,15 @@ public static function defaultSettings() {
   * {@inheritdoc}
   */
  public function settingsForm(array $form, FormStateInterface $form_state) {
    $element['notice'] = [
      '#type' => 'container',
      '#markup' => $this->t('The UploadProgress PHP extension must be enabled to configure the progress indicator. Check the <a href=":status">status report</a> for more information.', [':status' => Url::fromRoute('system.status')->toString()]),
      '#weight' => 16,
      '#access' => !extension_loaded('uploadprogress'),
      '#attributes' => [
        'role' => 'status',
      ],
    ];
    $element['progress_indicator'] = [
      '#type' => 'radios',
      '#title' => $this->t('Progress indicator'),
@@ -70,7 +80,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) {
      '#default_value' => $this->getSetting('progress_indicator'),
      '#description' => $this->t('The throbber display does not show the status of uploads but takes up less space. The progress bar is helpful for monitoring progress on large uploads.'),
      '#weight' => 16,
      '#access' => extension_loaded('uploadprogress'),
      '#disabled' => !extension_loaded('uploadprogress'),
    ];
    return $element;
  }