0.2.2 • Published 3 years ago

@n3/react-layouts v0.2.2

Weekly downloads
44
License
MIT
Repository
gitlab
Last release
3 years ago

@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

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
childrennodenullСодержимое страницы

EditLayout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
childrennodenullСодержимое страницы

ListLayout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
actionsBlocknodenullБлок действий (кнопки и т.п.)
childrennodenullСодержимое страницы

NestedListLayout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
parentTitle+nodeЗаголовок родительской сущности
parentActionsBlocknodeБлок действий у заголовка родительской сущности (кнопки и т.п.)
parentStatusnodenullСтатус
parentStatusColorTagColorundefinedЦвет тэга статуса
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
tabsTab[]Табы родительской сущности
currentTab+anyid выбранного таба
title+nodeЗаголовок страницы
actionsBlocknodenullБлок действий (кнопки и т.п.)
childrennodenullСодержимое страницы

ShowLayout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
statusnodenullСтатус
statusColorTagColorundefinedЦвет тэга статуса
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
childrennodenullСодержимое страницы

NestedShowLayout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
actionsBlocknodeБлок действий у заголовка сущности (кнопки и т.п.)
statusnodenullСтатус
statusColorTagColorundefinedЦвет тэга статуса
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
tabsTab[]Табы
currentTab+anyid выбранного таба
childrennodenullСодержимое страницы

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Заголовок страницы
actionsBlocknodeБлок действий у заголовка сущности (кнопки и т.п.)
statusnodenullСтатус
statusColorTagColorundefinedЦвет тэга статуса
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
tabsNestedRoutesLayoutTab<Payload>[]Табы
redirectFromstringnullПереадресация из
redirectTostringnullПереадресация в
payloadPayloadnullДанные, которые будут переданы во вложенные страницы

Props Layout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Дополнительные хлебные крошки
titlenodeЗаголовок вложенной страницы
actionsBlocknodeБлок действий вложенной страницы
childrennodenullСодержимое страницы

Формат таба

НазваниеОбязательностьТипЗначение по умолчаниюОписание
id+TabIdid таба
title+nodeЗаголовок таба
pathstringПуть страницы для react-router-dom, если не определено, используется to
to+stringurl страницы
component+ComponentType<NestedRouteComponentProps<any, any>>nullКомпонент страницы