diff --git a/src/routes/(angemeldet)/+page.svelte b/src/routes/(angemeldet)/+page.svelte
index b9a4519..f0dc309 100644
--- a/src/routes/(angemeldet)/+page.svelte
+++ b/src/routes/(angemeldet)/+page.svelte
@@ -27,35 +27,6 @@
Verschaffe Dir einen Überblick über alle gespeicherten Tatorte.
- {/if}
-
- {#if data.user.admin}
import { onMount, tick } from 'svelte';
import shortenFileSize from '$lib/helper/shortenFileSize';
- import { page } from '$app/stores';
-
+ import { getContext } from 'svelte';
import timeElapsed from '$lib/helper/timeElapsed';
import Alert from '$lib/components/ui/Alert.svelte';
@@ -15,6 +14,8 @@
import Edit from '$lib/icons/Edit.svelte';
import Trash from '$lib/icons/Trash.svelte';
+ const page = getContext('page');
+
/** @type {import('./$types').PageData} */
export let data;
@@ -42,7 +43,7 @@
$: rename_input;
onMount(async () => {
- const response = await fetch('/api/list/' + $page.params.vorgang);
+ const response = await fetch('/api/list/' + page.params.vorgang);
const stream = response.body;
if (!stream) return;
@@ -160,6 +161,58 @@
return;
}
}
+
+ /**
+ * @param {any} item
+ */
+ function clickEdit(item: any) {
+ let text_field_id = `label__${item.name}`;
+
+ let text_field = document.getElementById(text_field_id);
+ if (text_field) {
+ text_field.setAttribute('contenteditable', 'true');
+ text_field.focus();
+ text_field.textContent = '';
+ }
+
+ // hide button
+ item.show_button = false;
+ }
+
+ async function clickDelete(item: any, ev: Event) {
+ let delete_item = window.confirm('Bist du sicher?');
+
+ if (delete_item) {
+ // bucket: tatort, name:
/item-name
+ let vorgang = $page.params.vorgang;
+ let filename = '';
+ if (ev && ev.currentTarget && (ev.currentTarget as HTMLElement).id) {
+ filename = (ev.currentTarget as HTMLElement).id.split('del__')[1];
+ }
+
+ // delete request
+ // --------------
+
+ let url = new URL($page.url);
+ url.pathname += `/${filename}`;
+
+ console.log(`--- ${vorgang} + ${filename} + ${url}`);
+ try {
+ const response = await fetch(url, { method: 'DELETE' });
+ if (response.status == 204) {
+ setTimeout(() => {
+ window.location.reload();
+ }, 500);
+ }
+ } catch (error) {
+ if (error instanceof Error) {
+ console.log(error.message);
+ } else {
+ console.log(error);
+ }
+ }
+ }
+ }
@@ -207,7 +260,7 @@
handle_input(ev, i);
}}
bind:value={item.name}
- id="label__{item.name}"
+ id="label-i__{item.name}"
/>
@@ -218,17 +271,7 @@
id="edit__{item.name}"
aria-label="Datei umbenennen"
on:click|preventDefault={(ev) => {
- let text_field_id = `label__${item.name}`;
-
- let text_field = document.getElementById(text_field_id);
- if (text_field) {
- text_field.setAttribute('contenteditable', 'true');
- text_field.focus();
- text_field.textContent = '';
- }
-
- // hide button
- item.show_button = false;
+ clickEdit(item);
}}
>
@@ -238,38 +281,7 @@
style="padding: 2px"
id="del__{item.name}"
on:click|preventDefault={async (ev) => {
- let delete_item = window.confirm('Bist du sicher?');
-
- if (delete_item) {
- // bucket: tatort, name: /item-name
- let vorgang = $page.params.vorgang;
- let filename = '';
- if (ev && ev.currentTarget && (ev.currentTarget as HTMLElement).id) {
- filename = (ev.currentTarget as HTMLElement).id.split('del__')[1];
- }
-
- // delete request
- // --------------
-
- let url = new URL($page.url);
- url.pathname += `/${filename}`;
-
- console.log(`--- ${vorgang} + ${filename} + ${url}`);
- try {
- const response = await fetch(url, { method: 'DELETE' });
- if (response.status == 204) {
- setTimeout(() => {
- window.location.reload();
- }, 500);
- }
- } catch (error) {
- if (error instanceof Error) {
- console.log(error.message);
- } else {
- console.log(error);
- }
- }
- }
+ clickDelete(item, ev);
}}
aria-label="Datei löschen"
>