From 1f407a8288afe204fd0a10235caa5d0acb9609ec Mon Sep 17 00:00:00 2001 From: yassinedorbozgithub Date: Sat, 18 Jan 2025 14:18:25 +0100 Subject: [PATCH] feat(frontend): add deleteCallbackHandler --- .../dialogs/utils/deleteHandles.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 frontend/src/app-components/dialogs/utils/deleteHandles.ts diff --git a/frontend/src/app-components/dialogs/utils/deleteHandles.ts b/frontend/src/app-components/dialogs/utils/deleteHandles.ts new file mode 100644 index 00000000..385fb415 --- /dev/null +++ b/frontend/src/app-components/dialogs/utils/deleteHandles.ts @@ -0,0 +1,19 @@ +/* + * Copyright © 2025 Hexastack. All rights reserved. + * + * Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms: + * 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission. + * 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file). + */ + +export const deleteCallbackHandler = + ( + deleteOne: (id: string) => Promise, + deleteMany?: (ids: string[]) => Promise, + ) => + async (data: string = ""): Promise => { + const selectedIds = data.split(","); + + if (selectedIds.length === 1) await deleteOne(selectedIds[0]); + else if (selectedIds.length > 1) await deleteMany?.(selectedIds); + };