К содержимому

1. Обзор пакета

Package: com.sharq-it.sus.router · Version: 1.0.16 · Analog: Vue Router

Назначение

SusRouter — это слой навигации для SUS. Он выносит роутинг из монолитного навигатора UI хост-проекта в отдельный пакет.

В скоупеВне скоупа
Push/Replace/Back/Forward/GoБиблиотеки UI-компонентов
Guard-пайплайн (BeforeEach/CanEnter/CanLeave/BeforeResolve)Реактивность — sus-core
Модалки + стек (SusModalService + SusRouterModal)Игровая логика — хост-проект
Анимации на коде (Fade/Slide)
KeepAlive LRU-кэш (off-DOM)
Именованные/вложенные маршруты, redirect/alias
Query-параметры, lazy loading
SusRouteLink — декларативная навигация
SusApp.UseRouter — fluent-подключение

Быстрый старт

Предпочитайте SusApp + UseRouter (Runtime/SusAppRouterExtensions.cs):

csharp
using Sharq.Core;
using Sharq.Router;

SusApp.Create(uiDocument)
    .UseTheme(SusTheme.Dark)
    .UseRouter(new SusRouter(), r =>
    {
        r.Register("/", typeof(HomeScreen));
        r.Register("/settings", typeof(SettingsScreen));
    }, initialPath: "/")
    .Run();

Полный API см. в 02-router-api.md (ReplaceNamed, HasRoute, RemoveRoute, Busy, MaxHistory, async guard'ы).

Экосистема

sus-core — foundation (reactivity, SusComponent, OverlayHost)

sus-router (this package) — navigation

UI component library (optional, separate product)

host project — your application

Структура пакета

sus-router/
├── package.json
├── docs/                    ← package docs + README
├── Runtime/
│   ├── SusRouter.cs              ← Core: Register, Push, Replace, guards
│   ├── SusRoute.cs               ← SusRouteRecord, SusRouteConfig, SusRoute, ISusRouteGuard
│   ├── SusScreen.cs              ← Base screen class
│   ├── SusRouteView.cs           ← Visual container + KeepAlive LRU (off-DOM cache)
│   ├── SusRouteLink.cs           ← Link component
│   ├── SusModal.cs               ← SusRouterModal — modal base class
│   ├── SusModalService.cs        ← Modal stack (OverlayHost)
│   ├── SusRouteTransition.cs     ← Code-based animations (SusMotion)
│   ├── SusRouteBuilder.cs        ← Declarative route tree
│   ├── SusAppRouterExtensions.cs ← SusApp.UseRouter(...)
│   ├── SusOverlayServices.cs     ← Service aggregation
│   └── Services/
│       └── SusTransitionService.cs
├── Editor/Tests/
├── Runtime/Tests/
├── Samples~/                     ← 7 samples
│   ├── BasicRouting/
│   ├── KeepAlive/
│   ├── Guards/
│   ├── Modal/
│   ├── AdvancedRouting/
│   ├── RouteLink/
│   └── FullDemo/