Corp/backend/templates/includes/components/calendar_desktop.html
Игорь Надеин 024d3085ea feat: унифицированный список календарей (legacy + новые)
- calendarManager.js: добавлена функция createLegacyCalendars() для создания pseudo-calendar объектов
- loadCalendars() теперь объединяет legacy (Компания, Личный, Отделы) и новые календари в единый массив
- calendarWidgetIntegration.js: обновлена логика fetchEventsForVisibleCalendars для работы с legacy ID
  - legacy-company: все события без фильтров
  - legacy-personal: события текущего сотрудника (employee_id)
  - legacy-dept-{id}: события конкретного отдела (department_id)
- calendar_desktop.html: удален старый dropdown, оставлен только унифицированный список с чекбоксами
- Все календари теперь в одном списке с возможностью выбора через чекбоксы
- Цвета: Компания (красный), Личный (синий), Отделы (зеленый), новые календари (свои цвета)
2026-02-11 12:18:54 +03:00

78 lines
3.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{# Десктопная версия календаря - правая колонка #}
<div class="rightbar d-none d-lg-block">
<div class="card rightbar-card" data-dept-id="{{ dept_ids|default:'' }}">
<div class="card-header d-flex align-items-center justify-content-between flex-wrap gap-2">
<div class="d-flex align-items-center gap-2 flex-shrink-1 min-w-0">
<h6 class="card-title fw-semibold mb-0">Календарь</h6>
{# Кнопка списка календарей #}
<button
class="btn btn-sm btn-outline-primary"
type="button"
data-bs-toggle="collapse"
data-bs-target="#calendarListCollapse"
aria-expanded="false"
aria-controls="calendarListCollapse"
title="Список календарей"
>
<i class="bi-list-check"></i>
<span class="ms-1">Календари</span>
</button>
</div>
<div class="d-flex align-items-center gap-2 flex-shrink-0">
<span class="card-sub text-muted d-none d-xl-inline">События</span>
<button
class="btn btn-sm btn-outline-success"
type="button"
data-action="create-calendar"
aria-label="Создать календарь"
title="Создать календарь"
>
<i class="bi-calendar-plus"></i>
</button>
<button
class="btn btn-sm btn-primary"
type="button"
data-bs-toggle="modal"
data-bs-target="#eventCreateModal"
aria-label="Создать событие"
title="Создать событие"
>
<i class="bi-plus-lg"></i>
</button>
</div>
</div>
{# Список календарей (сворачиваемый) - унифицированный список legacy + новые #}
<div class="collapse" id="calendarListCollapse">
<div class="card-body border-bottom py-2">
<small class="text-muted d-block mb-2">
<i class="bi-info-circle me-1"></i>
Выберите календари для отображения
</small>
<div id="calendarListContainer" class="calendar-list-container" style="max-height: 250px; overflow-y: auto;">
{# Здесь будет JS-генерируемый список календарей (legacy + новые) #}
<div class="text-center py-3">
<div class="spinner-border spinner-border-sm text-primary" role="status">
<span class="visually-hidden">Загрузка...</span>
</div>
</div>
</div>
</div>
</div>
<div class="card-body">
<div id="calendarRight" class="calendar-wrap"></div>
<div class="week-strip-header">
<span><i class="bi-calendar-week me-1"></i> На этой неделе</span>
<span id="weekRange" class="text-muted"></span>
</div>
<div id="weekList" class="week-vertical" aria-live="polite"></div>
</div>
</div>
</div>