Добавление нового раздела системы¶
Добавление кастомного раздела¶
Для добавления нового раздела системы необходимо в файле инициализации модуля зарегистрировать новый путь с помощью пакета @universe-platform/router
.
Пример index.ts файла с регистраций новой страницы:
import {RouterStore, PageGroups, BaseRouteItem} from '@universe-platform/router';
/*
* Новая страница должна быть добавлена в глобальное пространство имен UniverseRouter
*/
declare global {
namespace UniverseRouter {
export interface IRouteMeta {
ExamplePage: BaseRouteItem;
}
}
}
/*
* Регистрация новой страницы в init методе
*/
export function init (routerStore: RouterStore) {
routerStore.registerRoute('ExamplePage', {
menuRoute: '/expamplePage',
route: '/expamplePage',
groupName: PageGroups.DATA_MANAGEMENT,
icon: 'switch',
color: 'lime',
menuDisplayName: 'module.expamplePage>page>title',
menuOrder: 5,
lazyComponent: () => import('./page/ExamplePage'),
resolver: () => true,
})
return {
id: 'exampleModule'
};
}
Описание объекта в методе registerRoute
¶
ExamplePage
- Системное названее страницы (должно быть уникальным);menuRoute
- Основной путь страницы;route
- Путь с добавлением QueryParams. Если их нет, то указывается, как и вmenuRoute
. Пример пути с QueryParams -/expamplePage/:id
.groupName
- Название группы меню, в которой будет находиться страница.Обработка данных - PageGroups.DATA_MANAGEMENT ("dataManagement");
Управление структурой данных - PageGroups.MODEL ("model");
Администрирование системы - PageGroups.ADMINISTRATION ("administration").
icon
- Иконка в пункте меню. Доступные иконки описаны в StoryBook.color
- Необязательный параметр, по умолчанию используется серый цвет. Доступны цвета: 'green', 'blue', 'purple', 'red', 'lime', 'pink'.menuDisplayName
- Путь до локализации i18n.menuOrder
- Номер в очереди пунктов меню.lazyComponent
- Метод, в котором импортируется файл с отображением новой страницы.