cloudinary-8.x-1.x-dev/modules/cloudinary_media_library_widget/src/Plugin/Field/FieldType/CloudinaryRaw.php

modules/cloudinary_media_library_widget/src/Plugin/Field/FieldType/CloudinaryRaw.php
<?php

namespace Drupal\cloudinary_media_library_widget\Plugin\Field\FieldType;

use Drupal\Core\Field\FieldStorageDefinitionInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\file\Plugin\Field\FieldType\FileItem;

/**
 * Plugin implementation of the 'cloudinary_raw' field type.
 *
 * @FieldType(
 *   id = "cloudinary_raw",
 *   label = @Translation("Cloudinary raw"),
 *   description = @Translation("This field stores a cloudinary asset info and the ID of the file as an integer value."),
 *   category = @Translation("Media"),
 *   default_widget = "cloudinary_widget",
 *   default_formatter = "file_default",
 *   no_ui = TRUE,
 *   list_class = "\Drupal\file\Plugin\Field\FieldType\FileFieldItemList",
 *   constraints = {"ReferenceAccess" = {}, "FileValidation" = {}}
 * )
 */
class CloudinaryRaw extends FileItem {

  use CloudinaryFileTrait {
    schema as baseSchema;
    propertyDefinitions as basePropertyDefinitions;
    storageSettingsForm as baseStorageSettingsForm;
    fieldSettingsForm as baseFieldSettingsForm;
  }

  /**
   * {@inheritdoc}
   */
  public function storageSettingsForm(array &$form, FormStateInterface $form_state, $has_data) {
    $element = $this->baseStorageSettingsForm($form, $form_state, $has_data);

    unset($element['display_field']);
    unset($element['display_default']);

    return $element;
  }

  /**
   * {@inheritdoc}
   */
  public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
    $element = $this->baseFieldSettingsForm($form, $form_state);
    unset($element['description_field']);

    return $element;
  }

  /**
   * {@inheritdoc}
   */
  public static function defaultFieldSettings() {
    $settings = parent::defaultFieldSettings();
    $settings['file_extensions'] = 'txt rtf doc docx ppt pptx xls xlsx pdf odf odg odp ods odt fodt fods fodp fodg key numbers pages';

    unset($settings['description_field']);

    return $settings;
  }

  /**
   * {@inheritdoc}
   */
  public static function schema(FieldStorageDefinitionInterface $field_definition) {
    $schema = self::baseSchema($field_definition);

    unset($schema['columns']['display']);

    return $schema;
  }

  /**
   * {@inheritdoc}
   */
  public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
    $properties = self::basePropertyDefinitions($field_definition);

    unset($properties['display']);


    return $properties;
  }

}

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

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