У меня есть список событий в fullCalendar, которые принадлежат определенным пользователям и для разных клиентов. Я хочу фильтровать по пользователю и клиенту, чтобы при нажатии на одного пользователя отображались только его события. И пока щелкают этого пользователя, я щелкаю клиента, в календаре отображаются только события с этим клиентом и пользователем.
https://codepen.io/anon/pen/Owmqwe?page=1&
В моем примере, когда я нажимаю "Jack and Petco", должны отображаться только события клиента Jack's Petco. Но проблема в том, что когда я нажимаю Jack, затем Petco, вместо этого появляются ВСЕ события petco. То же самое происходит и наоборот, когда я нажимаю Petsmart, а затем - Jack. Появляется событие Jacks Petco, когда должны отображаться только события Jack's petsmart.
Я считаю, что проблема заключается в строке 96 JS, она как-то связана с этим оператором return eventRender, который я не знаю, как решить, я прочитал документы JQUERY, но у меня все еще нет опыта.
eventRender: function(event, element, view) {
return $('input[type=radio][name=user_selector]:checked').val() === 'all' && $('input[type=radio][name=type_selector]:checked').val() === 'all'
|| event.client.indexOf($("input[type=radio][name=type_selector]:checked").val()) >= 0
|| event.user.indexOf($("input[type=radio][name=user_selector]:checked").val()) >= 0;
Еще одна вещь: я мог фильтровать пользователей через массивы источников событий. Но проблема в том, что хотя мой пример был статическим массивом, на практике я получаю события из базы данных динамически. Это означает, что я не смогу фильтровать события, у которых есть новые пользователи, мне придется постоянно обновлять код вручную. Так что это не сработает для меня, если нет обходного пути, о котором я не могу придумать.
Фильтрация событий путем добавления и удаления нескольких источников событий