- Компонент должен быть написан на Vue или Angular с использованием TypeScript
- Компонент должен быть переиспользуемым
- Компонент должен уметь обрабатывать любые входные данные (массив объектов) и маппить поля к заголовкам таблицы
- Как минимум 1 строка таблицы должна иметь дочерние строки. Эта строка может раскрывать/сворачивать дочерние строки
- Реализовать механизм изменения данных в таблице (редактируемые ячейки). Изменение данных в дочерних строках должно повлечь изменение данных в зависимых строках с помощью какой-либо агрегации. Например, изменение числового значения в ячейке строки повлечет изменение среднего (или мин, или макс) значения в строке верхнего уровня
- Продемонстрировать работу с минимум 2 разными наборами данных (датасетами)
- Не использовать сторонние библиотеки для UI (Vuetify, Material итд), код должен быть написан с нуля на базе фреймворка
- Использование статических типов (интерфейсов)
- Использование препроцессора SCSS
- Использование Vue 3 (Composition API)
- Создание 2-3 юнит-тестов для компонента таблицы
- Использование HTTP (JSON REST API или GraphQL) для загрузки моковых данных (датасетов) для компонента. Можно использовать любой Fake API или самостоятельно создать веб-хук в сервисе по типу Pipedream