Слушатель "изменения даты" в FullCalendar? - PullRequest
25 голосов
/ 20 июня 2011

Есть ли способ присоединить слушателя к FullCalendar, который будет срабатывать при каждом изменении текущей просматриваемой даты, т. Е. Если вы находитесь в режиме просмотра «Месяц», переход к следующему месяцу вызовет событие, передающее дату для первого днямесяц и то же самое для смены недель в представлении «Неделя» и т. д. в представлении «день в день».

Единственный открытый слушатель, который был бы близок к этому, - это обратный вызов dayClick, но это бесполезно, поскольку он срабатывает только припользователь щелкает в ячейке фактического дня, например, когда в строке заголовка нажимаются элементы управления Next / prev / today.

Я хочу, чтобы эта функция могла синхронизировать текущий просматриваемый месяц в FullCalendar с ExtJSкомпонент datepicker, поэтому, если просматриваемый месяц изменяется в FullCalendar, тогда Datepicker обновляется, чтобы показать тот же месяц.(подумайте, что пользовательский интерфейс Календаря Google с его «мини-календарем» в верхнем левом углу является средством выбора даты)

Ответы [ 2 ]

26 голосов
/ 09 февраля 2012

Билл,

Я знаю, что этот вопрос довольно древний, но мне нужно решение, и я решил опубликовать его здесь для других.Я сам решил проблему, прикрепив событие viewDisplay к моему календарю (это событие было удалено в v2 из FullCalendar , вместо этого можно использовать viewRender).

$("#calendar").fullCalendar({
    viewDisplay: function (element) {

    }
});

Получив доступ к параметру элемента, вы можете получить дату, используя element.start или element.visStart.Если вы находитесь в представлении месяца, start предоставит вам первый день месяца, который вы просматриваете, visStart предоставит вам первый видимый день месяца

12 голосов
/ 20 августа 2015

Вот как я это сделал:

$("#calendar").fullCalendar({

viewRender: function(view, element){
        var currentdate = view.intervalStart;
        $('#datepicker').datepicker().datepicker('setDate', new Date(currentdate));
    }

    });

В представлении месяца intervalStart вернет первый день месяца, отображаемый в FullCalendar, а не первый видимый день, который обычно являетсядень ближе к концу предыдущего месяца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...