🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
1.5 KiB
TypeScript
Executable File
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
|