graphql_core_schema-1.0.x-dev/src/GraphQL/Enums/DrupalDateFormatEnum.php

src/GraphQL/Enums/DrupalDateFormatEnum.php
<?php

namespace Drupal\graphql_core_schema\GraphQL\Enums;

use Drupal\graphql_core_schema\EntitySchemaHelper;
use GraphQL\Type\Definition\EnumType;

/**
 * The DrupalDateFormat enum.
 */
class DrupalDateFormatEnum extends EnumType {

  /**
   * Constructor.
   */
  public function __construct() {
    // Add date format enums.
    $dateFormatStorage = \Drupal::entityTypeManager()->getStorage('date_format');
    $formats = array_values($dateFormatStorage->loadMultiple());
    /** @var \Drupal\Core\Datetime\DateFormatterInterface $dateFormatter */
    $dateFormatter = \Drupal::service('date.formatter');
    $timestamp = 1668433941;

    $values = [];
    foreach ($formats as $format) {
      $id = (string) $format->id();
      $key = strtoupper(EntitySchemaHelper::toSnakeCase($id));
      $description = $dateFormatter->format($timestamp, $id);
      $values[$key] = [
        'value' => $id,
        'description' => $description,
      ];
    }
    parent::__construct([
      'name' => 'DrupalDateFormat',
      'values' => $values,
    ]);
  }

}

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

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