naja
Version:
Modern AJAX library for Nette Framework
49 lines (48 loc) • 2.23 kB
TypeScript
import { Naja, Options } from '../Naja';
import { TypedEventListener } from '../utils';
declare module '../Naja' {
interface Payload {
snippets?: Record<string, string>;
}
}
export type SnippetUpdateOperation = ((snippet: Element, content: string) => void | Promise<void>) | {
updateElement(snippet: Element, content: string): void | Promise<void>;
updateIndex(currentContent: string, newContent: string): string;
};
export declare class SnippetHandler extends EventTarget {
readonly op: Record<'replace' | 'prepend' | 'append', SnippetUpdateOperation>;
constructor(naja: Naja);
static findSnippets(predicate?: (snippet: Element) => boolean, document?: Document): Record<string, string>;
updateSnippets(snippets: Record<string, string>, fromCache?: boolean, options?: Options): Promise<void>;
updateSnippet(snippet: Element, content: string, fromCache: boolean, options: Options): Promise<void>;
addEventListener: <K extends keyof SnippetHandlerEventMap | string>(type: K, listener: TypedEventListener<SnippetHandler, K extends keyof SnippetHandlerEventMap ? SnippetHandlerEventMap[K] : CustomEvent>, options?: boolean | AddEventListenerOptions) => void;
removeEventListener: <K extends keyof SnippetHandlerEventMap | string>(type: K, listener: TypedEventListener<SnippetHandler, K extends keyof SnippetHandlerEventMap ? SnippetHandlerEventMap[K] : CustomEvent>, options?: boolean | AddEventListenerOptions) => void;
}
export type BeforeUpdateEvent = CustomEvent<{
snippet: Element;
content: string;
fromCache: boolean;
operation: SnippetUpdateOperation;
changeOperation: (value: SnippetUpdateOperation) => void;
options: Options;
}>;
export type PendingUpdateEvent = CustomEvent<{
snippet: Element;
content: string;
fromCache: boolean;
operation: SnippetUpdateOperation;
options: Options;
}>;
export type AfterUpdateEvent = CustomEvent<{
snippet: Element;
content: string;
fromCache: boolean;
operation: SnippetUpdateOperation;
options: Options;
}>;
interface SnippetHandlerEventMap {
beforeUpdate: BeforeUpdateEvent;
pendingUpdate: PendingUpdateEvent;
afterUpdate: AfterUpdateEvent;
}
export {};