Средство выбора даты Framework7 изменяет события после инициализации

Здравствуйте, команда Framework7,

Как изменить (обновить) события после инициализации, например, при изменении месяца (onMonthYearChangeStart)?

var today = new Date();
var weekLater = new Date().setDate(today.getDate() + 7);

var calendarEvents = myApp.calendar({
input: '#calendar-events',
dateFormat: 'M dd yyyy',
events: {
  from: today,
  to: weekLater
}
});

С уважением, Марио


person Mario van den Eijnde    schedule 30.06.2016    source источник
comment
На самом деле я также сталкиваюсь с той же проблемой, поэтому при инициализации календаря framework7 он создает DOM на 3 месяца, предыдущий, текущий и следующий, а затем добавляет события. Вы можете напрямую изменить объект календаря. но он будет отражать изменение html, когда вы идите дальше через 2 месяца, он меняет html на текущий. Если вы найдете решение, отправьте сообщение и здесь, спасибо.   -  person Mahen    schedule 02.07.2016
comment
вы нашли ответ на это? Мне также нужен способ добавления событий в разбиение на страницы. Я использую onMonthYearChangeEnd для изменения месяца, но теперь мне нужно загрузить больше событий. Я использую массив дат событий. Это должно быть как-то возможно через API?   -  person Redwall    schedule 30.08.2016
comment
У меня есть похожий вопрос, который может помочь, у меня есть решение, но я все еще ищу лучшее решение. stackoverflow.com/questions/47126743 /   -  person amaster    schedule 06.11.2017


Ответы (1)


В итоге я перебрал события и добавил/удалил классы для объекта даты, как показано ниже: Таким образом, с каждым изменением месяца я вызывал следующий скрипт. Я также использовал минус и плюс класс, чтобы получить красные и зеленые точки.

eventsPlusDataValues = dataSet.map(function(a) {
    if(a.hasValue && a.value > 0)$("[data-date="+a.startDate+"]").addClass('picker-calendar-day-has-events').removeClass('picker-calendar-day-has-eventsMinus').addClass('picker-calendar-day-has-eventsPlus');
    if(a.hasValue && a.value < 0)$("[data-date="+a.startDate+"]").addClass('picker-calendar-day-has-events').removeClass('picker-calendar-day-has-eventsPlus').addClass('picker-calendar-day-has-eventsMinus');
    return a.startDate;
});

Это было некоторое время назад, поэтому я надеюсь, что ничего не забыл.

person Mario van den Eijnde    schedule 31.08.2016