Код содержит ошибки разной степени критичности. Некоторые из них — стилистические, а другие — даже не позволят вам запустить приложение. Вам нужно найти все ошибки и исправить их.
Пункты для самопроверки:
- Приложение должно успешно запускаться.
- По адресу http://localhost:9000 должна открываться карта с метками.
- Должна правильно работать вся функциональность, перечисленная в условиях задания.
- Не должно быть лишнего кода.
- Все должно быть в едином codestyle.
При каждом запуске тестовые данные генерируются заново случайным образом.
- Обнаружил error в консоли браузера => заключил содержание import в скобки. Открыл документацию Карт => перенес скрипт в хед, добавил контейнеру карты размеры, теперь карта отображается и занимает весь экран.
- Заключал в комментарии и консоль лог каждую функцию и изучал поведение сверился с информацией по Object_manager, понял, что метки создаются, но не отображаются. Добавил метки на карту с помощью geoObjects. Теперь метки отображаются в Иране. Супер
- Ошибка с отображением должна быть в другом модуле, ибо в этом все с виду в порядке. Зашел в mappers, решил свапнуть местами широту и долготу. Теперь метки переехали в столицу
- Для наглядности отображения пинов увеличил gridSize до 128. Убрал пресет цвета кластера, теперь в кластере отображаются как исправные(синим), так и неисправные станции(красным). Чтобы проверить что цвет меток правильный я зашел в DevTools - Network - XHR - stations, и через cmd+f проверил количество станиций с isActive: false, настройка цвета пинов лежит в файле mappers.js. Фильтрация работает
- Осталось отобразить содержимое при клике на базовую станцию. Консоль говорит, эррор, destroy = null. Закомментил geoObjectBalloonContentLayout: getDetailsContentLayout(ymaps) в map.js/objectManager и ошибка пропала, должно быть ошибка в модуле details. Зашел в него, заметил, что используется this в стрелочной функции, а значит контекст исполнения не тот. Исправил контекст заменив стрелочную функцию на функциональное выражение.
- Почитал документацию ChartJS, заменил неверный адрес импорта из модуля chart.js, количество скрытых модулей при сборке увеличилось и окно графика теперь появляется без ошибок в консоли.
- Заметил, что в окне графика стоит максимальная высота 0 по оси Y. В файле XHR в графе chart все значения выше 0, значит график нам не виден из-за максимального значения. Убрал его - вуаля, все работает как нужно.
- Лишний код: обнаружил, что функция getPopupContent экспортируется, но в приложении нигде не используется - модуль popup.js не нужен, удалил его.
- Прогнал файлы через ESLint, привел всё к единому кодстайлу.