UNPKG

magner

Version:

Universal admin panel magnetic to any backend

41 lines (40 loc) 1.38 kB
import { CardConfig, LoginConfig, TableConfig } from '../../../types'; import { Route, RouteBase } from '../../../types/configs/routing/routing'; export type SupportedRoutePresets = 'login' | 'table' | 'card' | '404'; export interface RoutePresetBase { preset: SupportedRoutePresets; } /** * Login page route preset. You define the form in the page and a request to the backend, * Magner handles the authorization and role management. */ export interface LoginPreset<ENTITY extends {} = any> extends RoutePresetBase { preset: 'login'; config: LoginConfig<ENTITY>; } /** * Table page route preset. Depending on the config, displays the table of data, filters and pagination */ export interface TablePreset<ENTITY extends {} = any> extends RoutePresetBase { preset: 'table'; config: TableConfig<ENTITY>; } /** * Card page route preset. Displays the form or a read-only card for management of the entity card */ export interface CardPreset<ENTITY extends {} = any> extends RoutePresetBase { preset: 'card'; config: CardConfig<ENTITY>; } /** * 404 error page preset. */ export interface ErrorPreset extends RoutePresetBase { preset: '404'; config: {}; } export interface RoutePreset<ROUTE extends Route = Route> extends RouteBase { type: 'preset'; route: ROUTE; preset: LoginPreset | CardPreset | TablePreset | ErrorPreset; }