cloud-8.x-2.0-beta1/modules/cloud_service_providers/k8s/src/Plugin/Field/FieldWidget/LimitItem.php

modules/cloud_service_providers/k8s/src/Plugin/Field/FieldWidget/LimitItem.php
<?php

namespace Drupal\k8s\Plugin\Field\FieldWidget;

use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\WidgetBase;
use Drupal\Core\Form\FormStateInterface;

/**
 * Plugin implementation of the 'limit_item' widget.
 *
 * @FieldWidget(
 *   id = "limit_item",
 *   label = @Translation("K8s limit"),
 *   field_types = {
 *     "limit"
 *   }
 * )
 */
class LimitItem extends WidgetBase {

  /**
   * {@inheritdoc}
   */
  public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
    $value = isset($items[$delta]->item_value) ? $items[$delta]->item_value : NULL;

    $element['limit_type'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Type'),
      '#size' => 60,
      '#default_value' => isset($items[$delta]->limit_type) ? $items[$delta]->limit_type : NULL,
      '#maxlength' => 255,
      '#prefix' => '<div class="col-sm-6">',
      '#suffix' => '</div>',
    ];

    $element['resource'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Resource'),
      '#size' => 60,
      '#default_value' => isset($items[$delta]->resource) ? $items[$delta]->resource : NULL,
      '#maxlength' => 255,
      '#prefix' => '<div class="col-sm-6">',
      '#suffix' => '</div>',
    ];

    $element['default'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Default'),
      '#size' => 60,
      '#default_value' => isset($items[$delta]->default) ? $items[$delta]->default : NULL,
      '#maxlength' => 255,
      '#prefix' => '<div class="col-sm-6">',
      '#suffix' => '</div>',
    ];

    $element['default_request'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Default Request'),
      '#size' => 60,
      '#default_value' => isset($items[$delta]->default_request) ? $items[$delta]->default_request : NULL,
      '#maxlength' => 255,
      '#prefix' => '<div class="col-sm-6">',
      '#suffix' => '</div>',
    ];

    $element['max'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Max'),
      '#size' => 60,
      '#default_value' => isset($items[$delta]->max) ? $items[$delta]->max : NULL,
      '#maxlength' => 255,
      '#prefix' => '<div class="col-sm-6">',
      '#suffix' => '</div>',
    ];

    $element['min'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Min'),
      '#size' => 60,
      '#default_value' => isset($items[$delta]->min) ? $items[$delta]->min : NULL,
      '#maxlength' => 255,
      '#prefix' => '<div class="col-sm-6">',
      '#suffix' => '</div>',
    ];

    $element['max_limit_request_ratio'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Max Limit Request Ratio'),
      '#size' => 60,
      '#default_value' => isset($items[$delta]->max_limit_request_ratio) ? $items[$delta]->max_limit_request_ratio : NULL,
      '#maxlength' => 255,
      '#prefix' => '<div class="col-sm-6">',
      '#suffix' => '</div>',
    ];

    return $element;
  }

}

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

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