filebrowser-8.x-2.x-dev/src/EventSubscriber/MetadataInfoEventSubscriber.php

src/EventSubscriber/MetadataInfoEventSubscriber.php
<?php

namespace Drupal\filebrowser\EventSubscriber;


use Drupal\Core\StringTranslation\StringTranslationTrait;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Drupal\filebrowser\Events\MetadataInfo;
use Drupal\filebrowser\Services\Common;

class MetadataInfoEventSubscriber implements EventSubscriberInterface {
  use StringTranslationTrait;

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents(): array {
    $events['filebrowser.metadata_info'][] =  ['setInfo', 0];
    return $events;
  }

  public function setInfo($event) {
    /** @var MetadataInfo $event */
    $info = [
      Common::ICON => [
        'title' => $this->t('Icon'),
      ],
      Common::NAME => [
        'title' => $this->t('Name'),
        'sortable' => TRUE,
        'type' => 'string'
      ],
      Common::CREATED => [
        'title' => $this->t('Created'),
        //'sortable' => TRUE,
        'type' => 'integer'
      ],
      Common::SIZE => [
        'title' => $this->t('Size'),
        // fixme: formatted size not sortable
        'sortable' => false,
        'type' => 'integer'
      ],
      Common::MIME_TYPE => [
        'title' => $this->t('Mime type'),
        'sortable' => TRUE,
        'type' => 'string'
      ],
      Common::DESCRIPTION => [
        'title' => $this->t('Description'),
        'writable' => TRUE,
        //'sortable' => TRUE,
        'type' => 'string',
      ],
    ];
    $event->setMetaDataInfo($info);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc