UNPKG

naja

Version:

Modern AJAX library for Nette Framework

49 lines (48 loc) 2.23 kB
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 {};