Welcome to mirror list, hosted at ThFree Co, Russian Federation.

date_picker.js « behaviors « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 89f1ad9c89e5cde3c46f9385cbdbe82611cef47e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import $ from 'jquery';
import Pikaday from 'pikaday';
import { parsePikadayDate, pikadayToString } from '~/lib/utils/datetime_utility';

export default function initDatePickers() {
  $('.datepicker').each(function initPikaday() {
    const $datePicker = $(this);
    const datePickerVal = $datePicker.val();

    const calendar = new Pikaday({
      field: $datePicker.get(0),
      theme: 'gl-datepicker-theme animate-picker',
      format: 'yyyy-mm-dd',
      container: $datePicker.parent().get(0),
      parse: (dateString) => parsePikadayDate(dateString),
      toString: (date) => pikadayToString(date),
      onSelect(dateText) {
        $datePicker.val(calendar.toString(dateText));
      },
      firstDay: gon.first_day_of_week,
    });

    calendar.setDate(parsePikadayDate(datePickerVal));

    $datePicker.data('pikaday', calendar);
  });

  $('.js-clear-due-date,.js-clear-start-date').on('click', (e) => {
    e.preventDefault();
    const calendar = $(e.target)
      .siblings('.issuable-form-select-holder')
      .children('.datepicker')
      .data('pikaday');
    calendar.setDate(null);
  });
}