From 08aa18e4672883eca7e238203e9bf4be783f24c0 Mon Sep 17 00:00:00 2001 From: 1ilit Date: Fri, 27 Oct 2023 21:10:17 +0300 Subject: [PATCH] Load latest diagram --- src/data/db.js | 2 +- src/pages/editor.jsx | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/data/db.js b/src/data/db.js index fd624e0..620a2fc 100644 --- a/src/data/db.js +++ b/src/data/db.js @@ -3,7 +3,7 @@ import Dexie from "dexie"; const db = new Dexie("drawDB"); db.version(1).stores({ - diagrams: "++id", + diagrams: "++id, lastModified", }); export { db }; diff --git a/src/pages/editor.jsx b/src/pages/editor.jsx index 00f5d15..74070e3 100644 --- a/src/pages/editor.jsx +++ b/src/pages/editor.jsx @@ -12,6 +12,7 @@ import { ObjectType, } from "../data/data"; import { socket } from "../data/socket"; +import { db } from "../data/db"; import { uniqueNamesGenerator, colors, animals } from "unique-names-generator"; export const LayoutContext = createContext(); @@ -28,6 +29,7 @@ export const BotMessageContext = createContext(); export const TypeContext = createContext(); export default function Editor(props) { + const [id, setId] = useState(0); const [tables, setTables] = useState([]); const [relationships, setRelationships] = useState([]); const [areas, setAreas] = useState([]); @@ -460,6 +462,26 @@ export default function Editor(props) { useEffect(() => { document.title = "Editor | drawDB"; + const loadLatestDiagram = async () => { + await db.diagrams + .orderBy("lastModified") + .last() + .then((d) => { + if (d) { + setId(d.id); + setTables(d.tables); + setRelationships(d.references); + setNotes(d.notes); + setAreas(d.areas); + } + }) + .catch((error) => { + console.log(error); + }); + }; + + loadLatestDiagram(); + socket.connect(); const onConnect = () => {