From f87b106ad2c0a0cc1d00bd14df4218f6a490be9c Mon Sep 17 00:00:00 2001 From: mina Date: Thu, 26 Jun 2025 18:40:09 +0200 Subject: [PATCH] =?UTF-8?q?erstellt=20EditableItem=20=20mit=20frontend-err?= =?UTF-8?q?or-handling=20eingef=C3=BCgt=20caselist,=20crimelist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/components/EditableItem.svelte | 123 +++++++++++++++ src/lib/components/ListItem.svelte | 85 ----------- src/lib/helper/error-utils.ts | 9 ++ src/routes/(angemeldet)/list/+page.svelte | 48 +++--- .../(token-based)/list/[vorgang]/+page.svelte | 144 +++++------------- 5 files changed, 196 insertions(+), 213 deletions(-) create mode 100644 src/lib/components/EditableItem.svelte delete mode 100644 src/lib/components/ListItem.svelte create mode 100644 src/lib/helper/error-utils.ts diff --git a/src/lib/components/EditableItem.svelte b/src/lib/components/EditableItem.svelte new file mode 100644 index 0000000..ada2542 --- /dev/null +++ b/src/lib/components/EditableItem.svelte @@ -0,0 +1,123 @@ + + +
+
+ {#if editing} + + {:else} + {value} + {#if !editing && editable} + + + {/if} + {/if} +
+ {#if editing && errors} +

{errors[0]}

+ {/if} +
diff --git a/src/lib/components/ListItem.svelte b/src/lib/components/ListItem.svelte deleted file mode 100644 index 0b5f0e8..0000000 --- a/src/lib/components/ListItem.svelte +++ /dev/null @@ -1,85 +0,0 @@ - - - -
- -
- {#if admin} - { - editName(); - }} - /> - - - - - {:else} - - {item.name} - - {/if} - -

{shortenFileSize(item.size)}

-
-
- -
diff --git a/src/lib/helper/error-utils.ts b/src/lib/helper/error-utils.ts new file mode 100644 index 0000000..eabfb86 --- /dev/null +++ b/src/lib/helper/error-utils.ts @@ -0,0 +1,9 @@ +export function validateInput(oldValue:string, value: string, options: { minLength?: number; existingNames?: string[] }) { + const errors: string[] = []; + + if (!value.trim()) errors.push('Feld darf nicht leer sein'); + if (options.existingNames?.includes(value) && oldValue !== value) + errors.push('Name existiert bereits'); + + return errors; +} diff --git a/src/routes/(angemeldet)/list/+page.svelte b/src/routes/(angemeldet)/list/+page.svelte index b730a95..2635462 100644 --- a/src/routes/(angemeldet)/list/+page.svelte +++ b/src/routes/(angemeldet)/list/+page.svelte @@ -1,11 +1,17 @@