Angular UI Calendar повторно отображает весь вид календаря при обновлении ячейки - PullRequest
0 голосов
/ 20 июня 2019

В моем приложении AngularJS v1.5.x , Я занимаюсь разработкой календаря, используя Angular UI Calendar (angular-ui-calendar v1.0.2) .В календаре представлены некоторые события, такие как eventClick, eventRender и т. Д., Которые я реализую, чтобы вводить свой HTML-код по мере необходимости.

Все работало так же хорошо, как и все, до сегодняшнего дня, когда я обнаружил, что любойОбновления календаря повторно отображают весь вид календаря.

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

Что у меня естьуже пробовал то, что я условно пропустил логику внутри функции eventRender, которая генерирует HTML, поэтому он не обновляет каждую ячейку, если я изменяю одну ячейку, но он установил для всех ячеек пустую строку.

Есть ли способ заставить компонент обновлять только текущую ячейку или любое другое решение, которое может улучшить производительность рендеринга?

Вот реализация eventRender :

eventRender: (event, element) => {
const contentEl = element.find('div.fc-content');

if (!contentEl.length) {
return;
}

if (event.end && event.end.valueOf() < moment().valueOf()) {
element.addClass('fc-event-past');
}

let html = `<div class="eventTitle">
<span class='fc-time'> ${moment(event.startDate).format('hh:mma')} - ${moment(event.endDate).format('hh:mma')}
</span>
<span class='fc-title'>${event.title || ''}</span></div>`;
contentEl.empty();

html += '<span class="cal-name">No Provider Assigned</span>';
if (event.label) {
providerHtml += `<span class="cal-name">${event.label}</span>`;
}
contentEl.append(html);
}

Вот ссылка на угловой компонент календаря UI: https://github.com/angular-ui/ui-calendar

Любая помощь будет оценена.

...