VGTable

Динамические таблицы

Раскрывающиеся строки

Многоуровневое дерево строк со сворачиванием и разворачиванием ветвей.

Многоуровневые строки

Связь задаётся через ID строки и ID родителя. Кнопка создаётся автоматически только у строк с потомками: плюс означает скрытую ветвь, минус — раскрытую. Состояние вложенных ветвей сохраняется при сворачивании родителя.

Название Тип Ответственный
Платформа VGApp Проект Platform Team
Frontend Направление Анна Орлова
Design System Пакет UI Team
Токены и темы Модуль Ирина Волкова
Компоненты Модуль Павел Морозов
Приложение Пакет Анна Орлова
Backend Направление Михаил Громов
Public API Сервис API Team
Commerce Проект Commerce Team
Каталог Направление Catalog Team
Товары Модуль Catalog Team
data-expand-id — уникальный ID data-expand-parent-id — ID родителя глубина не ограничена
HTML
<table
  class="vg-table vg-table-hovered"
  data-vg-table
  data-sort-enabled="false"
  data-expandable-enable="true"
  data-expandable-collapsed="true"
>
  <tbody>
    <tr data-expand-id="platform" data-expand-collapsed="false">...</tr>
    <tr data-expand-id="frontend" data-expand-parent-id="platform">...</tr>
    <tr data-expand-id="design" data-expand-parent-id="frontend">...</tr>
    <tr data-expand-id="tokens" data-expand-parent-id="design">...</tr>
  </tbody>
</table>
JavaScript
const table = document.querySelector('#expandable-projects');
const instance = VGTable.getInstance(table);

instance.expandRow('frontend', true);
instance.collapseRow('platform', true);
instance.toggleExpanded('platform', null, true);

table.addEventListener('rowtoggle.vg.table', ({detail}) => {
  console.log(detail.id, detail.expanded);
});