Проблема прокрутки последней даты в календаре рамок Framework7 - PullRequest
0 голосов
/ 31 мая 2018

Когда календарь диапазона имеет последний день в текущем месяце с параметром минимальной даты, установленным на вчера, как «Сегодня» в выборе.После прокрутки и перехода к следующему месяцу календарь не возвращается к предыдущему / текущему месяцу.Как сегодня, 31-05-2018 и доступно для выбора при инициализации календаря.Но при переходе на июнь месяц календарь не может вернуться к маю.Ниже мой код

calendarRange = botapp.calendar.create({
        inputEl: "#hdnDepDatesBus",
        containerEl: '#divDepDatesBus',
        dateFormat: 'yyyy-mm-dd',
        minDate: yd, //yesterday date as today date need in selection
        rangePicker: true,
        direction: 'vertical',
        value: [arrdDateBus],
        renderToolbar: function () {
            return '<div class="toolbar calendar-custom-toolbar no-shadow divCalanderMonth"><div class="toolbar-inner"><div class="left"></div><div class="center"></div><div class="right"></div></div></div>';
        },
        on: {
            init: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            monthYearChangeStart: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            change: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.value[0].getMonth()] + ' ' + c.value[0].getFullYear());
                if (c.value.length == 1) {
                    if (c.value[0].getMonth() > c.currentMonth) {
                        calendarRange.nextMonth();
                    } else if (c.value[0].getMonth() < c.currentMonth) {
                        calendarRange.prevMonth();
                    }
                }
            }
        }
    });

1 Ответ

0 голосов
/ 31 мая 2018

После долгих поисков я нашел решение, какую дату вы хотите выбрать в качестве минимальной даты, выбранной за 1 день до этой даты.Затем используйте отключенную опцию даты, чтобы отключить эту дату.это решит проблему с прокруткой назад, и никакие дополнительные даты не будут включены.Это решение и работает.Также странная минимальная дата сегодня отключена для выбора в framework7.Нужно поставить за 1 день до минимальной даты для возможности выбора на сегодня.

 calendarRangeTrain = botapp.calendar.create({
        inputEl: "#hdnDepDatesTrain",
        containerEl: '#divDepDatesTrain',
        dateFormat: 'yyyy-mm-dd',
        rangePicker: true,
        minDate: yd, // here yd is 2 days before today
        direction: 'vertical',
        value: [arrdDateTrain],
        disabled: [new Date(yd.getFullYear(), yd.getMonth(), yd.getDate() + 1)],
        renderToolbar: function () {
            return '<div class="toolbar calendar-custom-toolbar no-shadow divCalanderMonth"><div class="toolbar-inner"><div class="left"></div><div class="center"></div><div class="right"></div></div></div>';
        },
        on: {
            init: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            monthYearChangeStart: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            change: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.value[0].getMonth()] + ' ' + c.value[0].getFullYear());
                if (c.value.length == 1) {
                    if (c.value[0].getMonth() > c.currentMonth) {
                        calendarRange.nextMonth();
                    } else if (c.value[0].getMonth() < c.currentMonth) {
                        calendarRange.prevMonth();
                    }
                }
            }
        }
    });
...