🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
51 lines
1.7 KiB
TypeScript
Executable File
51 lines
1.7 KiB
TypeScript
Executable File
/**
|
|
* Base class for layout components in JQHTML Router v2
|
|
*/
|
|
import { Jqhtml_Component } from '@jqhtml/core';
|
|
import type { RouteInfo } from './types.js';
|
|
declare module '@jqhtml/core' {
|
|
interface Jqhtml_Component {
|
|
_is_layout?: boolean;
|
|
}
|
|
}
|
|
export declare class Jqhtml_Layout extends Jqhtml_Component {
|
|
static layout?: string;
|
|
_is_layout: boolean;
|
|
constructor(options?: any);
|
|
/**
|
|
* Called when the route changes within the same layout
|
|
* Override this to update layout state (e.g., active navigation items)
|
|
*/
|
|
on_route_change(old_route: RouteInfo | null, new_route: RouteInfo): Promise<void>;
|
|
/**
|
|
* Called before dispatching to a new route
|
|
* Can cancel navigation by returning false or redirect by returning a URL
|
|
*/
|
|
pre_dispatch(route_info: RouteInfo): Promise<boolean | string>;
|
|
/**
|
|
* Called after a route has fully loaded
|
|
* Can trigger redirects for post-load logic
|
|
*/
|
|
post_dispatch(route_info: RouteInfo): Promise<void>;
|
|
/**
|
|
* Get the content container where routes render
|
|
* Must contain an element with $sid="content"
|
|
*/
|
|
$content(): JQuery;
|
|
/**
|
|
* Internal method to render a route into this layout
|
|
* Called by the router during dispatch
|
|
*/
|
|
_render_route(route_component: any): Promise<void>;
|
|
/**
|
|
* Override on_render for custom layout rendering
|
|
* By default does nothing - layouts should override this or use templates
|
|
*/
|
|
on_render(): Promise<void>;
|
|
/**
|
|
* Layouts should never re-render after initial load
|
|
* They persist across route changes
|
|
*/
|
|
should_rerender(): boolean;
|
|
}
|
|
//# sourceMappingURL=layout.d.ts.map
|