diff --git a/src/utils/exportUtils/Exporter.ts b/src/utils/exportUtils/Exporter.ts new file mode 100644 index 0000000000..a4e14153c1 --- /dev/null +++ b/src/utils/exportUtils/Exporter.ts @@ -0,0 +1,7 @@ +import { MatrixEvent } from "matrix-js-sdk/src/models/event"; +import Room from 'matrix-js-sdk/src/models/room'; + +export abstract class Exporter { + constructor(protected res: MatrixEvent[], protected room: Room) {} + abstract export(): Promise +} diff --git a/src/utils/exportUtils/HtmlExport.ts b/src/utils/exportUtils/HtmlExport.ts index 8dbf14f924..737a7736b4 100644 --- a/src/utils/exportUtils/HtmlExport.ts +++ b/src/utils/exportUtils/HtmlExport.ts @@ -6,7 +6,7 @@ import { textForEvent } from "../../TextForEvent"; import { Room } from 'matrix-js-sdk/src/models/room'; import { MatrixEvent } from "matrix-js-sdk/src/models/event"; import { getUserNameColorClass } from "../FormattingUtils"; - +import { Exporter } from "./Exporter"; const css = ` body { @@ -273,16 +273,12 @@ div.mx_selected { } `; - -export default class HTMLExporter { +export default class HTMLExporter extends Exporter { protected zip: JSZip; -protected res: MatrixEvent[]; -protected room: Room; protected avatars: Map; constructor(res: MatrixEvent[], room: Room) { - this.res = res; - this.room = room; + super(res, room); this.zip = new JSZip(); this.avatars = new Map(); }