Добавление нового раздела системы

Добавление кастомного раздела

Для добавления нового раздела системы необходимо в файле инициализации модуля зарегистрировать новый путь с помощью пакета @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 - Метод, в котором импортируется файл с отображением новой страницы.