Standardize FrontendMessage message names

This commit is contained in:
Keavon Chambers
2022-01-12 14:16:13 -08:00
parent ae829c63b4
commit 6c639270ae
17 changed files with 154 additions and 152 deletions
+8 -6
View File
@@ -1,4 +1,4 @@
import { AutoSaveDocument, RemoveAutoSaveDocument } from "@/dispatcher/js-messages";
import { TriggerIndexedDbWriteDocument, TriggerIndexedDbRemoveDocument } from "@/dispatcher/js-messages";
import { DocumentsState } from "@/state/documents";
import { EditorState, getWasmInstance } from "@/state/wasm-loader";
@@ -39,13 +39,15 @@ export function createAutoSaveManager(editor: EditorState, documents: DocumentsS
return new Promise((resolve) => {
request.onsuccess = (): void => {
const previouslySavedDocuments: AutoSaveDocument[] = request.result;
const previouslySavedDocuments: TriggerIndexedDbWriteDocument[] = request.result;
const documentOrder: string[] = JSON.parse(window.localStorage.getItem(GRAPHITE_AUTO_SAVE_ORDER_KEY) || "[]");
const orderedSavedDocuments = documentOrder.map((id) => previouslySavedDocuments.find((autoSave) => autoSave.details.id === id)).filter((x) => x !== undefined) as AutoSaveDocument[];
const orderedSavedDocuments = documentOrder
.map((id) => previouslySavedDocuments.find((autoSave) => autoSave.details.id === id))
.filter((x) => x !== undefined) as TriggerIndexedDbWriteDocument[];
const currentDocumentVersion = getWasmInstance().graphite_version();
orderedSavedDocuments.forEach((doc: AutoSaveDocument) => {
orderedSavedDocuments.forEach((doc: TriggerIndexedDbWriteDocument) => {
if (doc.version === currentDocumentVersion) {
editor.instance.open_auto_saved_document(BigInt(doc.details.id), doc.details.name, doc.details.is_saved, doc.document);
} else {
@@ -70,14 +72,14 @@ export function createAutoSaveManager(editor: EditorState, documents: DocumentsS
storeDocumentOrder();
};
editor.dispatcher.subscribeJsMessage(AutoSaveDocument, async (autoSaveDocument) => {
editor.dispatcher.subscribeJsMessage(TriggerIndexedDbWriteDocument, async (autoSaveDocument) => {
const db = await databaseConnection;
const transaction = db.transaction(GRAPHITE_AUTO_SAVE_STORE, "readwrite");
transaction.objectStore(GRAPHITE_AUTO_SAVE_STORE).put(autoSaveDocument);
storeDocumentOrder();
});
editor.dispatcher.subscribeJsMessage(RemoveAutoSaveDocument, async (removeAutoSaveDocument) => {
editor.dispatcher.subscribeJsMessage(TriggerIndexedDbRemoveDocument, async (removeAutoSaveDocument) => {
removeDocument(removeAutoSaveDocument.document_id);
});
+6 -6
View File
@@ -1,4 +1,4 @@
import { DisplayError, DisplayPanic } from "@/dispatcher/js-messages";
import { DisplayDialogError, DisplayDialogPanic } from "@/dispatcher/js-messages";
import { DialogState } from "@/state/dialog";
import { EditorState } from "@/state/wasm-loader";
import { stripIndents } from "@/utilities/strip-indents";
@@ -6,7 +6,7 @@ import { TextButtonWidget } from "@/utilities/widgets";
export function initErrorHandling(editor: EditorState, dialogState: DialogState): void {
// Graphite error dialog
editor.dispatcher.subscribeJsMessage(DisplayError, (displayError) => {
editor.dispatcher.subscribeJsMessage(DisplayDialogError, (displayDialogError) => {
const okButton: TextButtonWidget = {
kind: "TextButton",
callback: async () => dialogState.dismissDialog(),
@@ -14,16 +14,16 @@ export function initErrorHandling(editor: EditorState, dialogState: DialogState)
};
const buttons = [okButton];
dialogState.createDialog("Warning", displayError.title, displayError.description, buttons);
dialogState.createDialog("Warning", displayDialogError.title, displayDialogError.description, buttons);
});
// Code panic dialog and console error
editor.dispatcher.subscribeJsMessage(DisplayPanic, (displayPanic) => {
editor.dispatcher.subscribeJsMessage(DisplayDialogPanic, (displayDialogPanic) => {
// `Error.stackTraceLimit` is only available in V8/Chromium
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(Error as any).stackTraceLimit = Infinity;
const stackTrace = new Error().stack || "";
const panicDetails = `${displayPanic.panic_info}\n\n${stackTrace}`;
const panicDetails = `${displayDialogPanic.panic_info}\n\n${stackTrace}`;
// eslint-disable-next-line no-console
console.error(panicDetails);
@@ -45,7 +45,7 @@ export function initErrorHandling(editor: EditorState, dialogState: DialogState)
};
const buttons = [reloadButton, copyErrorLogButton, reportOnGithubButton];
dialogState.createDialog("Warning", displayPanic.title, displayPanic.description, buttons);
dialogState.createDialog("Warning", displayDialogPanic.title, displayDialogPanic.description, buttons);
});
}