npm.io
0.2.2 • Published 5 years ago

@n3/react-layouts

Licence
MIT
Version
0.2.2
Deps
8
Size
56 kB
Vulns
0
Weekly
0

@n3/react-layouts

Лэйауты страниц для приложений на базе @n3/kit.

import {
  CreateLayout,
  EditLayout,
  ListLayout,
  NestedListLayout,
  ShowLayout,
  NestedShowLayout,
} from '@n3/react-layouts';
  • CreateLayout - страница создания;
  • EditLayout - страница редактрования;
  • ListLayout - страница списка;
  • NestedListLayout - страница вложенного списка (например, список документов конкретной организации);
  • ShowLayout - страница просмотра;
  • NestedShowLayout - страница просмотра с табами;
  • NestedRoutesLayout - группа вложенных страниц, интегрированная с react-router-dom.

Props

CreateLayout

Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs Breadcrumb[] Массив объектов хлебных крошек
title + node Заголовок страницы
headerBlock node null Блок, выводящийся между заголовком страницы и табами
children node null Содержимое страницы
EditLayout
Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs Breadcrumb[] Массив объектов хлебных крошек
title + node Заголовок страницы
headerBlock node null Блок, выводящийся между заголовком страницы и табами
children node null Содержимое страницы
ListLayout
Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs Breadcrumb[] Массив объектов хлебных крошек
title + node Заголовок страницы
headerBlock node null Блок, выводящийся между заголовком страницы и табами
actionsBlock node null Блок действий (кнопки и т.п.)
children node null Содержимое страницы
NestedListLayout
Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs Breadcrumb[] Массив объектов хлебных крошек
parentTitle + node Заголовок родительской сущности
parentActionsBlock node Блок действий у заголовка родительской сущности (кнопки и т.п.)
parentStatus node null Статус
parentStatusColor TagColor undefined Цвет тэга статуса
headerBlock node null Блок, выводящийся между заголовком страницы и табами
tabs Tab[] Табы родительской сущности
currentTab + any id выбранного таба
title + node Заголовок страницы
actionsBlock node null Блок действий (кнопки и т.п.)
children node null Содержимое страницы
ShowLayout
Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs Breadcrumb[] Массив объектов хлебных крошек
title + node Заголовок страницы
status node null Статус
statusColor TagColor undefined Цвет тэга статуса
headerBlock node null Блок, выводящийся между заголовком страницы и табами
children node null Содержимое страницы
NestedShowLayout
Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs Breadcrumb[] Массив объектов хлебных крошек
title + node Заголовок страницы
actionsBlock node Блок действий у заголовка сущности (кнопки и т.п.)
status node null Статус
statusColor TagColor undefined Цвет тэга статуса
headerBlock node null Блок, выводящийся между заголовком страницы и табами
tabs Tab[] Табы
currentTab + any id выбранного таба
children node null Содержимое страницы
NestedRoutesLayout

Пример использования:

const data = await fetch(...);

const NestedRoute = ({
  Layout,
  payload,
}) => (
  <Layout
    title="Вложенный заголовок"
    breadcrumbs={[{
      url: null,
      title: 'Дополнительная крошка',
    }]}
  >
    Контент
  </Layout>
);

<NestedRoutesLayout
  breadcrumbs={[{
    url: '/',
    title: 'Хлебная крошка',
  }]}
  title="Основной заголовок"
  tabs={[
    {
      id: 'tabId',
      title: 'Заголовок таба',
      to: '/tab/',
      component: NestedRoute,
    },
  ]}
  payload={data}
/>
Props NestedRoutesLayout
Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs + Breadcrumb[] Массив объектов хлебных крошек
title + node Заголовок страницы
actionsBlock node Блок действий у заголовка сущности (кнопки и т.п.)
status node null Статус
statusColor TagColor undefined Цвет тэга статуса
headerBlock node null Блок, выводящийся между заголовком страницы и табами
tabs NestedRoutesLayoutTab<Payload>[] Табы
redirectFrom string null Переадресация из
redirectTo string null Переадресация в
payload Payload null Данные, которые будут переданы во вложенные страницы
Props Layout
Название Обязательность Тип Значение по умолчанию Описание
breadcrumbs Breadcrumb[] Дополнительные хлебные крошки
title node Заголовок вложенной страницы
actionsBlock node Блок действий вложенной страницы
children node null Содержимое страницы
Формат таба
Название Обязательность Тип Значение по умолчанию Описание
id + TabId id таба
title + node Заголовок таба
path string Путь страницы для react-router-dom, если не определено, используется to
to + string url страницы
component + ComponentType<NestedRouteComponentProps<any, any>> null Компонент страницы