From 6358cbd2934530094f9d514b9e4d9f28551d8037 Mon Sep 17 00:00:00 2001 From: yanle <421361608@qq.com> Date: Mon, 29 Jan 2024 21:01:03 +0800 Subject: [PATCH] feat: remove getRecords;fix image duplication issue --- ui/src/App.tsx | 7 +++++-- ui/src/db-tables/ChangelogsTable.ts | 14 ++------------ ui/src/db-tables/MediaTable.ts | 6 +----- 3 files changed, 8 insertions(+), 19 deletions(-) diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 12d7afb..f96aad7 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -452,7 +452,7 @@ export default function App() { window.addEventListener("beforeunload", handleBeforeUnload); - api.addEventListener("executed", (e: any) => { + const handleExecuted = (e: any) => { e.detail?.output?.images?.forEach( (im: { filename: string; subfolder: string; type: string }) => { if (im.type === "output") { @@ -467,12 +467,15 @@ export default function App() { } }, ); - }); + }; + + api.addEventListener("executed", handleExecuted); return () => { // window.removeEventListener("message", authTokenListener); window.removeEventListener("keydown", shortcutListener); window.removeEventListener("change", fileInputListener); window.removeEventListener("beforeunload", handleBeforeUnload); + window.removeEventListener("executed", handleExecuted); clearInterval(autoSaveTimer.current); }; }, []); diff --git a/ui/src/db-tables/ChangelogsTable.ts b/ui/src/db-tables/ChangelogsTable.ts index f9ef55e..6c9b100 100644 --- a/ui/src/db-tables/ChangelogsTable.ts +++ b/ui/src/db-tables/ChangelogsTable.ts @@ -20,21 +20,11 @@ export class ChangelogsTable extends TableBase { .equals(workflowID) .reverse() .sortBy("createTime"); - if (objects?.length) return objects; - - const records = await this.getRecords(); - return Object.values(records) - .filter((c) => c.workflowID === workflowID) - .sort((a, b) => b.createTime - a.createTime); + return objects; } public async getLastestByWorkflowID(workflowID: string): Promise { const objects = await this.listByWorkflowID(workflowID); - if (objects?.length) return objects[0]; - const records = await this.getRecords(); - const all = Object.values(records) - .filter((c) => c.workflowID === workflowID) - .sort((a, b) => b.createTime - a.createTime); - return all[0]; + return objects[0]; } public async create(input: { json: string; diff --git a/ui/src/db-tables/MediaTable.ts b/ui/src/db-tables/MediaTable.ts index 2200769..5fdbd0a 100644 --- a/ui/src/db-tables/MediaTable.ts +++ b/ui/src/db-tables/MediaTable.ts @@ -15,11 +15,7 @@ export class MediaTable extends TableBase { .equals(workflowID) .reverse() .sortBy("createTime"); - if (medias.length > 0) return medias; - const records = await this.getRecords(); - return Object.values(records) - .filter((c) => c.workflowID === workflowID) - .sort((a, b) => b.createTime - a.createTime); + return medias; } public async create(input: {