Use ref for progress updates
This commit is contained in:
parent
3dcc7738f6
commit
87c624d085
5 changed files with 20 additions and 17 deletions
|
@ -6,6 +6,7 @@ import { haveTileForEvent } from "../../components/views/rooms/EventTile";
|
|||
import { exportTypes } from "./exportUtils";
|
||||
import { exportOptions } from "./exportUtils";
|
||||
import { EventType } from "matrix-js-sdk/src/@types/event";
|
||||
import { MutableRefObject } from "react";
|
||||
|
||||
export default class JSONExporter extends Exporter {
|
||||
protected totalSize: number;
|
||||
|
@ -15,9 +16,9 @@ export default class JSONExporter extends Exporter {
|
|||
room: Room,
|
||||
exportType: exportTypes,
|
||||
exportOptions: exportOptions,
|
||||
setProgressText: React.Dispatch<React.SetStateAction<string>>,
|
||||
exportProgressRef: MutableRefObject<HTMLParagraphElement>,
|
||||
) {
|
||||
super(room, exportType, exportOptions, setProgressText);
|
||||
super(room, exportType, exportOptions, exportProgressRef);
|
||||
this.totalSize = 0;
|
||||
this.messages = [];
|
||||
}
|
||||
|
@ -62,7 +63,7 @@ export default class JSONExporter extends Exporter {
|
|||
protected async createOutput(events: MatrixEvent[]) {
|
||||
for (let i = 0; i < events.length; i++) {
|
||||
const event = events[i];
|
||||
if (i % 100 == 0) this.updateProgress(`Processing event ${i ? i : 1} out of ${events.length}`, false, true);
|
||||
this.updateProgress(`Processing event ${i + 1} out of ${events.length}`, false, true);
|
||||
if (this.cancelled) return this.cleanUp();
|
||||
if (!haveTileForEvent(event)) continue;
|
||||
this.messages.push(await this.getJSONString(event));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue