-
+
{#if data.user.admin}
-
(item.show_button = true)}
- on:focusin={() => (item.show_button = false)}
- on:keydown|stopPropagation={(ev) => {
- handle_input(ev);
- }}
- on:click={(ev) => {
- handleClick(ev);
- }}
- />
+
+ (item.show_button = true)}
+ onfocusin={() => (item.show_button = false)}
+ onkeydown={(ev) => {
+ ev.stopPropagation();
+ handle_input(ev);
+ }}
+ onclick={(ev) => {
+ handleClick(ev);
+ }}
+ />
+
{#if item.show_button}
{/if}
@@ -249,148 +225,16 @@
+
Umbenennen
+ {#if inProgress}
+ Vorgang läuft...
+ {/if}
-
-
-
+
+
diff --git a/src/routes/(angemeldet)/+layout.server.js b/src/routes/(angemeldet)/+layout.server.js
index c54cfba..b509af2 100644
--- a/src/routes/(angemeldet)/+layout.server.js
+++ b/src/routes/(angemeldet)/+layout.server.js
@@ -1,6 +1,5 @@
import { redirect } from '@sveltejs/kit';
-/** @type {import('./$types').PageServerLoad} */
export function load(event) {
if (!event.locals.user && event.url.pathname !== '/anmeldung') throw redirect(303, '/anmeldung');
return {
diff --git a/src/routes/(angemeldet)/list/+page.svelte b/src/routes/(angemeldet)/list/+page.svelte
index a6dec78..b7978f5 100644
--- a/src/routes/(angemeldet)/list/+page.svelte
+++ b/src/routes/(angemeldet)/list/+page.svelte
@@ -39,7 +39,9 @@
const target = ev.currentTarget as HTMLElement | null;
if (!target) return;
let filename = target.id.split('del__')[1];
-
+ console.log('Debug Mina', filename);
+ ev.preventDefault();
+ ev.stopPropagation;
// delete request
// --------------
@@ -51,7 +53,7 @@
if (response.status == 204) {
setTimeout(() => {
window.location.reload();
- }, 500);
+ }, 5000);
}
} catch (error) {
if (error instanceof Error) {
diff --git a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte
index 24bfb03..fea8dd4 100644
--- a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte
+++ b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte
@@ -3,18 +3,6 @@
import { page } from '$app/stores';
- import Alert from '$lib/components/ui/Alert.svelte';
-
- import Button from '$lib/components/ui/Button.svelte';
-
- import Modal from '$lib/components/ui/Modal/Modal.svelte';
-
- import ModalTitle from '$lib/components/ui/Modal/ModalTitle.svelte';
-
- import ModalContent from '$lib/components/ui/Modal/ModalContent.svelte';
-
- import ModalFooter from '$lib/components/ui/Modal/ModalFooter.svelte';
-
import ListItem from '$lib/components/ListItem.svelte';
let { data } = $props();
@@ -30,11 +18,10 @@
let list: ListItem[] = $state([]);
let admin = data.user.admin;
- let wert = $state('Hallo');
- $effect: console.log('TEst', wert);
+ let wert = $state('');
$effect: {
- console.log('Liste aktualisiert:', $inspect(list), $inspect(admin), $inspect(wert));
+ $inspect(list), $inspect(admin), $inspect(wert);
}
let open = $state(false);
@@ -49,18 +36,10 @@
$inspect(err);
- // let rename_input;
-
- // $effect: rename_input;
-
- $effect(() => {
- console.log('Update-Ereignis erkannt:', wert);
- });
-
let oldName = $state('');
let nameArray = list.map((obj) => obj.name);
- $effect: console.log('Mina Testing oben:', $inspect(nameArray), $inspect(oldName));
+ $effect: $inspect(oldName);
onMount(async () => {
const response = await fetch('/api/list/' + vorgang);
@@ -87,7 +66,7 @@
.map((i) => JSON.parse(i));
console.log(objs);
- wert = 'Ich kann nicht mehr!';
+ wert = 'wert';
list = list.concat(objs);
@@ -98,154 +77,10 @@
}
});
- console.log('Mina List', list);
-
- function uploadSuccessful() {
- console.log('reset');
-
- open = false;
- }
-
- function defocus_element(i: number) {
- let item = list[i];
-
- let text_field_id = `label__${item.name}`;
-
- let text_field = document.getElementById(text_field_id);
-
- if (text_field) {
- text_field.setAttribute('contenteditable', 'false');
-
- text_field.textContent = item.name;
- }
-
- // reshow button
-
- list[i].show_button = true;
-
- return;
- }
-
- async function handle_input(ev: KeyboardEvent, i: number, itemObj: any) {
- let item = list[i];
- console.log('Mina item', item, itemObj, oldName);
- console.log('input', ev.key);
- if (ev.key == 'Escape') {
- // ev.stopPropagation(); // Verhindert, dass der Klick weiter nach oben propagiert
- // ev.preventDefault(); // Stoppt die Standardaktion
- console.log('Escape', ev.key);
- itemObj.name = oldName;
- itemObj.show_button = true;
- }
- // if (ev.key == 'Escape') {
- // item.name = oldName;
- // // reshow button
-
- // item.show_button = true;
-
- // return;
- // }
-
- if (ev.key == 'Enter') {
- console.log('Enter', ev.key);
- ev.stopPropagation(); // Verhindert, dass der Klick weiter nach oben propagiert
- ev.preventDefault(); // Stoppt die Standardaktion
- }
- // if (ev.key == 'Enter') {
- // console.log('--- hitted');
-
- // let name_field = ev.currentTarget as HTMLElement | null;
-
- // let new_name = name_field
- // ? name_field.textContent || (name_field as any).innerText || ''
- // : '';
-
- // if (new_name == '') {
- // alert('Bitte einen gültigen Namen eingeben.');
-
- // ev.preventDefault();
-
- // return;
- // }
-
- // // actual upload
-
- // // -------------
-
- // // to prevent from item being selected
-
- // ev.preventDefault();
-
- // // construct PUT URL
-
- // const url = $page.url;
-
- // console.log(url);
-
- // let data_obj: { new_name: string; old_name: string } = { new_name: '', old_name: '' };
-
- // data_obj['new_name'] = new_name;
-
- // data_obj['old_name'] =
- // ev.currentTarget && (ev.currentTarget as HTMLElement).id
- // ? (ev.currentTarget as HTMLElement).id.split('__')[1]
- // : '';
-
- // open = true;
-
- // inProgress = true;
-
- // const response = await fetch(
- // url,
-
- // { method: 'PUT', body: JSON.stringify(data_obj) }
- // );
-
- // inProgress = false;
-
- // if (!response.ok) {
- // err = true;
-
- // if (response.status == 400) {
- // let json_res = await response.json();
-
- // // alert(json_res['msg'])
-
- // return;
- // }
-
- // throw new Error(`Fehlgeschlagen: ${response.status}`);
- // } else {
- // uploadSuccessful();
-
- // setTimeout(() => {
- // window.location.reload();
- // }, 500);
- // }
-
- // // --- upload finished ---
-
- // return;
- // }
- }
-
- function handleClick(event: MouseEvent, obj: ListItem) {
- event.stopPropagation(); // Verhindert, dass der Klick weiter nach oben propagiert
- event.preventDefault(); // Stoppt die Standardaktion
- console.log('show click', obj.show_button);
- oldName = obj.name;
- console.log('Button wurde geklickt!', oldName);
- }
-
- function toggleButton(item: ListItem, show: boolean) {
- // item.show_button = !item.show_button;
-
- item.show_button = show;
- console.log('show toggle', item, show, item.show_button);
- }
-
- function handleUpdate(ev: CustomEvent) {
- console.log('Update erfolgreich', ev.detail.newName);
+ async function handleUpdate(ev: CustomEvent) {
+ open = ev.detail.open;
+ inProgress = ev.detail.inProgress;
+ err = ev.detail.err;
}
@@ -258,169 +93,11 @@
{#each list as item, i}
-
-
-
{/each}