naja
Version:
Modern AJAX library for Nette Framework
28 lines (27 loc) • 1.46 kB
TypeScript
import { Naja, Options, Payload } from '../Naja';
import { TypedEventListener } from '../utils';
export declare class UIHandler extends EventTarget {
private readonly naja;
selector: string;
allowedOrigins: (string | URL)[];
private handler;
constructor(naja: Naja);
private initialize;
bindUI(element: Element): void;
private handleUI;
clickElement(element: HTMLElement, options?: Options, event?: MouseEvent): Promise<Payload>;
submitForm(formOrSubmitter: HTMLFormElement | HTMLElement, options?: Options, event?: Event): Promise<Payload>;
processInteraction(element: HTMLElement, method: string, url: string | URL, data?: any | null, options?: Options, event?: Event): Promise<Payload>;
isUrlAllowed(url: string): boolean;
addEventListener: <K extends keyof UIHandlerEventMap | string>(type: K, listener: TypedEventListener<UIHandler, K extends keyof UIHandlerEventMap ? UIHandlerEventMap[K] : CustomEvent>, options?: boolean | AddEventListenerOptions) => void;
removeEventListener: <K extends keyof UIHandlerEventMap | string>(type: K, listener: TypedEventListener<UIHandler, K extends keyof UIHandlerEventMap ? UIHandlerEventMap[K] : CustomEvent>, options?: boolean | AddEventListenerOptions) => void;
}
export type InteractionEvent = CustomEvent<{
element: Element;
originalEvent?: Event;
options: Options;
}>;
interface UIHandlerEventMap {
interaction: InteractionEvent;
}
export {};