Как реализовать повторяющееся событие с установленным значением true в течение всего дня? - PullRequest
0 голосов
/ 04 декабря 2018

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

Для вышеупомянутой функциональности я ссылалсядва сообщения SO

  1. Повторяющиеся события в полном календаре (для повторения еженедельно)
  2. Повторение полных событий календаря ежедневно, ежемесячно и ежегодно.

При создании ежедневного события с повторением каждую неделю я сталкиваюсь с проблемой, которая была решена в Issue # 4173 , для которой я создал демо здесь Я также проверил v4, и я обнаружил, что он будет работать для меня демо в v4 здесь , но у меня есть некоторые другие проблемы здесь, я работаю на живом сайте, и там я не могу обновить и выбратьДля реализации v4 это сложная система, необходимо изучить все аспекты, прежде чем выбрать модернизацию, поэтому есть ли способ реализовать то же самое в v3, есть ли что-то, что я могу вручную отредактировать в локально сохраненном файле?или исправить это для исправления этого?

$(function() {
  let defaultEvents = [{
    id: 230,
    title: 'all day with every week (range)',
    start: '00:00:00',
    end: '23:59:59',
    dow: [2],
    allDay: true,
    ranges: [{
      start: "2018-12-10",
      end: "2018-12-26"
    }]
  }, ];
  $('#calendar').fullCalendar({
    defaultView: 'month',
    header: {
      left: 'prev,next today',
      center: 'title',
      right: 'agendaWeek,agendaDay'
    },
    eventSources: [defaultEvents],
    eventRender: function(event, element, view) {
      if (event.ranges) {
        console.log(event.ranges)
        return (event.ranges.filter(function(range) {
          return (event.start.isBefore(range.end) &&
            event.end.isAfter(range.start));
        }).length) > 0;
      }
    }
  });

});
html,
body {
  margin: 0;
  padding: 0;
  font-family: "Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
  font-size: 14px;
}

#calendar {
  max-width: 900px;
  margin: 40px auto;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.js"></script>

<div id='calendar'></div>

Спасибо

1 Ответ

0 голосов
/ 09 апреля 2019

Эта проблема была дважды отмечена в v3 с билетами # 4173 и # 4399 , и теперь она исправлена ​​в v4 с помощью отдельного плагина для повторения RRule.В версии 4 вы можете повторить следующее событие, например:

{
       title: 'event with every week (all day)',
       allDay: true,
       rrule: {
          freq: 'weekly',
          dtstart: '2019-04-05',
          until: '2021-04-05'
       },
}

, вот скрипка

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