Files
rspade_system/node_modules/@jqhtml/router/dist/spa.d.ts
2025-12-03 21:28:08 +00:00

48 lines
1.5 KiB
TypeScript
Executable File

/**
* Base application class for JQHTML SPAs
*/
import type { RouteInfo } from "./types";
import { Jqhtml_Component } from "@jqhtml/core";
export interface SPAConfig {
default_layout?: string;
not_found_component?: string;
}
export declare class Jqhtml_SPA extends Jqhtml_Component {
private initialized;
private _initial_url;
/**
* Initialize the router and set up event handlers
*/
protected init_router(config?: SPAConfig): Promise<void>;
/**
* Called when the SPA component is fully ready
* This is where we initialize the router and dispatch the initial route
*/
on_ready(): Promise<void>;
/**
* Called before dispatching to a new route
* Can cancel navigation by returning false or redirect by returning a URL
* This runs before layout.pre_dispatch()
*/
pre_dispatch(route_info: RouteInfo): Promise<boolean | string>;
/**
* Called after a route has fully loaded
* This runs after layout.post_dispatch()
* Can trigger redirects for post-load logic
*/
post_dispatch(route_info: RouteInfo): Promise<void>;
/**
* Set the default layout name
* Call this in on_create() if you want a different default than 'Default_Layout'
*/
static set_default_layout(layout_name: string): void;
/**
* Get current router state
*/
static get state(): import("./types").RouterState;
/**
* Get current route info
*/
static get current_route(): RouteInfo | null;
}
//# sourceMappingURL=spa.d.ts.map