persian_date-8.x-4.1/src/Element/PersianDate.php

src/Element/PersianDate.php
<?php
/**
 * Created by PhpStorm.
 * User: evolve
 * Date: 9/26/17
 * Time: 6:42 PM
 */

namespace Drupal\persian_date\Element;


use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Render\Element\Date;
use Drupal\persian_date\Library\Jalali\jDate;

/**
 * Class PersianDate
 * @package Drupal\persian_date\Element
 * @FormElement("date")
 */
class PersianDate extends Date
{
    public function getInfo()
    {
        $info = parent::getInfo();
        $info['#attributes'] = ['type' => 'text'];
        return $info;
    }

    public static function processDate(&$element, FormStateInterface $form_state, &$complete_form)
    {
        // Attach JS support for the date field, if we can determine which date
        // format should be used.
        if ($element['#attributes']['type'] == 'date' && !empty($element['#date_date_format'])) {
            $element['#attributes']['type'] = 'text';
            // filter element goes to view
            if ($element['#date_date_format'] === 'Y-m-d' && $element['#value']) {
                list($year,,) = explode('-',$element['#value']);
                if (is_georgian_year($year)) {
                    $element['#value'] = jDate::forge($element['#value'])->format('Y-m-d');
                }
            }
            $element['#attached']['library'][] = 'persian_date/core';
            $element['#attributes']['data-drupal-date-format'] = [$element['#date_date_format']];
        }
        return $element;
    }
}

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

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