Игорь Надеин
d867ed669c
refactor: вынести weekListRenderer из calendarWidget.js
Проблемы:
- calendarWidget.js слишком большой (1571 строка)
- Логика рендеринга бокового списка смешана с основной логикой
- Сложно тестировать функции отдельно
Решение:
1. Создан модуль weekListRenderer.js (163 строки):
- renderVertical() - рендеринг списка событий недели
- updateWeekLists() - обновление десктоп и мобильной версий списка
- Параметризованные функции для переиспользования
2. Обновлён calendarWidget.js:
- Удалены функции renderVertical и updateWeekLists (88 строк)
- Добавлен импорт из weekListRenderer
- Создана обёртка updateWeekLists с передачей параметров
Результаты:
✅ calendarWidget.js: 1571 → 1483 строки (-88, -6%)
✅ Создан переиспользуемый модуль weekListRenderer (163 строки)
✅ Улучшена тестируемость рендеринга
✅ Разделение ответственности (SRP)
✅ Полная обратная совместимость
Изменения:
- 2 files changed, 175 insertions(+), 100 deletions(-)
- Нет breaking changes
- Нет ошибок компиляции
2026-02-11 13:26:49 +03:00
..
2026-02-11 13:26:49 +03:00
2025-10-28 08:29:43 +03:00
2025-12-08 11:21:31 +03:00
2025-12-18 10:19:47 +03:00
2025-11-20 09:00:55 +03:00
2026-02-11 12:52:25 +03:00
2026-02-11 13:12:52 +03:00
2026-02-11 13:26:49 +03:00
2026-02-11 13:12:52 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2026-01-12 17:37:41 +03:00
2026-01-12 17:37:41 +03:00
2026-01-22 01:33:42 +03:00
2025-11-28 10:09:23 +03:00
2025-11-28 10:09:23 +03:00
2026-01-14 17:32:06 +03:00
2025-11-30 12:21:36 +03:00
2026-01-12 17:37:41 +03:00
2026-01-22 01:33:42 +03:00
2026-01-08 14:39:40 +03:00
2026-01-13 09:19:19 +03:00
2026-01-22 01:33:42 +03:00
2025-11-20 09:00:55 +03:00
2025-11-27 17:23:13 +03:00
2025-11-20 09:00:55 +03:00
2025-11-29 13:52:21 +03:00
2025-11-20 12:54:01 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-11-21 12:46:43 +03:00
2025-11-20 09:00:55 +03:00
2025-12-03 14:42:26 +03:00
2025-12-05 13:19:04 +03:00
2025-12-08 13:37:20 +03:00
2025-11-20 09:00:55 +03:00
2025-12-08 11:07:45 +03:00
2025-12-30 10:35:34 +03:00
2025-12-03 13:48:31 +03:00
2025-11-29 13:52:21 +03:00
2025-11-29 13:52:21 +03:00
2025-12-05 10:56:23 +03:00
2025-12-05 09:57:54 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2026-02-06 15:42:57 +03:00
2025-11-20 09:00:55 +03:00
2025-10-28 08:40:25 +03:00
2025-12-02 14:02:10 +03:00
2026-01-06 08:11:24 +03:00
2026-01-15 11:13:54 +03:00
2026-01-15 11:13:54 +03:00
2026-01-15 11:13:54 +03:00
2025-12-01 14:19:58 +03:00
2025-11-20 09:00:55 +03:00
2025-12-05 11:10:02 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-12-03 13:48:31 +03:00
2025-12-08 12:09:32 +03:00
2025-12-08 12:09:32 +03:00
2025-11-29 13:52:21 +03:00
2025-12-05 15:59:21 +03:00
2026-01-05 14:35:19 +03:00
2026-01-22 01:33:42 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-11-20 09:00:55 +03:00
2025-12-17 09:14:34 +03:00
2025-11-29 13:52:21 +03:00
2025-11-29 16:41:03 +03:00
2026-01-15 11:13:54 +03:00