@rr0/cms
Version:
RR0 Content Management System (CMS)
24 lines (23 loc) • 1.32 kB
TypeScript
import { DomReplacement } from "../DomReplacement.js";
import { HtmlRR0Context } from "../../RR0Context.js";
import { CaseSummaryRenderer } from "../CaseSummaryRenderer.js";
import { RR0CaseSummary } from "./rr0/RR0CaseSummary.js";
import { RR0CaseMapping } from "./rr0/RR0CaseMapping.js";
/**
* Replaces a (ul) tag from (chronology) files with case summaries from external datasources.
*/
export declare class ChronologyReplacer implements DomReplacement<HtmlRR0Context, HTMLUListElement> {
protected mappings: RR0CaseMapping<any>[];
protected renderer: CaseSummaryRenderer;
/**
* Remember already processed datasources.
*
* @protected
*/
protected readonly done: Set<string>;
constructor(mappings: RR0CaseMapping<any>[], renderer: CaseSummaryRenderer);
replacement(context: HtmlRR0Context, element: HTMLUListElement): Promise<HTMLUListElement>;
protected aggregate(context: HtmlRR0Context, element: HTMLUListElement): Promise<void>;
protected aggregateDatasource(context: HtmlRR0Context, mapping: RR0CaseMapping<any>, existingCases: RR0CaseSummary[], casesToAdd: RR0CaseSummary[]): Promise<void>;
protected merge(context: HtmlRR0Context, sourceCases: any[], fetchTime: Date, mapping: RR0CaseMapping<any>, existingCases: RR0CaseSummary[]): RR0CaseSummary[];
}