This commit is contained in:
1 parent
ffde675f3a
commit
4acf0f03b6
6 files changed
+92
-31
No files matched your search
@@ -2,6 +2,7 @@
|
||||
import { page } from '$app/stores';
|
||||
import type { PageData, ActionData } from './$types';
|
||||
import { createSlugAutoHandler } from '$lib/utils/slugify';
|
||||
import { confirmState } from '$lib/stores/confirm.svelte';
|
||||
|
||||
let { data, form }: { data: PageData; form: ActionData } = $props();
|
||||
|
||||
@@ -111,13 +112,21 @@
|
||||
action="?/delete"
|
||||
method="POST"
|
||||
class="inline-form"
|
||||
onsubmit={(e) => {
|
||||
if (
|
||||
!confirm(
|
||||
`确定要删除${$page.data.aliases?.category || '分类'} "${category.name}" 吗?删除后相关文章将归为未${$page.data.aliases?.category || '分类'}。`
|
||||
)
|
||||
)
|
||||
e.preventDefault();
|
||||
onsubmit={async (e) => {
|
||||
if ((e.target as HTMLFormElement).dataset.confirmed === 'true') {
|
||||
(e.target as HTMLFormElement).removeAttribute('data-confirmed');
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
const form = e.target as HTMLFormElement;
|
||||
const submitter = e.submitter;
|
||||
const confirmed = await confirmState.show(
|
||||
`确定要删除${$page.data.aliases?.category || '分类'} "${category.name}" 吗?删除后相关文章将归为未${$page.data.aliases?.category || '分类'}。`
|
||||
);
|
||||
if (confirmed) {
|
||||
form.dataset.confirmed = 'true';
|
||||
form.requestSubmit(submitter);
|
||||
}
|
||||
}}
|
||||
>
|
||||
<input type="hidden" name="id" value={category.id} />
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
import { enhance } from '$app/forms';
|
||||
import type { ActionData, PageData } from './$types';
|
||||
import { addToast } from '$lib/stores/toast.svelte';
|
||||
import { confirmState } from '$lib/stores/confirm.svelte';
|
||||
|
||||
let { data, form } = $props<{ data: PageData; form: ActionData }>();
|
||||
|
||||
@@ -156,8 +157,19 @@
|
||||
<button
|
||||
class="action-btn delete-btn"
|
||||
type="submit"
|
||||
onclick={(e) => {
|
||||
if (!confirm('确定要删除此文件吗?此操作不可恢复。')) e.preventDefault();
|
||||
onclick={async (e) => {
|
||||
if ((e.currentTarget as HTMLElement).dataset.confirmed === 'true') {
|
||||
(e.currentTarget as HTMLElement).removeAttribute('data-confirmed');
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
const btn = e.currentTarget as HTMLElement;
|
||||
const form = btn.closest('form');
|
||||
const confirmed = await confirmState.show('确定要删除此文件吗?此操作不可恢复。');
|
||||
if (confirmed && form) {
|
||||
btn.dataset.confirmed = 'true';
|
||||
form.requestSubmit(btn);
|
||||
}
|
||||
}}
|
||||
title="删除文件"
|
||||
>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import { resolve } from '$app/paths';
|
||||
import { page } from '$app/stores';
|
||||
import type { PageData } from './$types';
|
||||
import { confirmState } from '$lib/stores/confirm.svelte';
|
||||
let { data }: { data: PageData } = $props();
|
||||
|
||||
let selectedIds = $state<string[]>([]);
|
||||
@@ -33,13 +34,20 @@
|
||||
action="?/delete"
|
||||
method="POST"
|
||||
class="inline-form"
|
||||
onsubmit={(e) => {
|
||||
if (
|
||||
!confirm(
|
||||
`确定要删除选中的 ${selectedIds.length} 篇${$page.data.aliases?.page || '项目'}吗?操作不可恢复。`
|
||||
)
|
||||
) {
|
||||
e.preventDefault();
|
||||
onsubmit={async (e) => {
|
||||
if ((e.target as HTMLFormElement).dataset.confirmed === 'true') {
|
||||
(e.target as HTMLFormElement).removeAttribute('data-confirmed');
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
const form = e.target as HTMLFormElement;
|
||||
const submitter = e.submitter;
|
||||
const confirmed = await confirmState.show(
|
||||
`确定要删除选中的 ${selectedIds.length} 篇${$page.data.aliases?.page || '项目'}吗?操作不可恢复。`
|
||||
);
|
||||
if (confirmed) {
|
||||
form.dataset.confirmed = 'true';
|
||||
form.requestSubmit(submitter);
|
||||
}
|
||||
}}
|
||||
>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import { resolve } from '$app/paths';
|
||||
import { page } from '$app/stores';
|
||||
import type { PageData } from './$types';
|
||||
import { confirmState } from '$lib/stores/confirm.svelte';
|
||||
let { data }: { data: PageData } = $props();
|
||||
|
||||
let selectedIds = $state<string[]>([]);
|
||||
@@ -33,13 +34,20 @@
|
||||
action="?/delete"
|
||||
method="POST"
|
||||
class="inline-form"
|
||||
onsubmit={(e) => {
|
||||
if (
|
||||
!confirm(
|
||||
`确定要删除选中的 ${selectedIds.length} 篇${$page.data.aliases?.post || '项目'}吗?操作不可恢复。`
|
||||
)
|
||||
) {
|
||||
e.preventDefault();
|
||||
onsubmit={async (e) => {
|
||||
if ((e.target as HTMLFormElement).dataset.confirmed === 'true') {
|
||||
(e.target as HTMLFormElement).removeAttribute('data-confirmed');
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
const form = e.target as HTMLFormElement;
|
||||
const submitter = e.submitter;
|
||||
const confirmed = await confirmState.show(
|
||||
`确定要删除选中的 ${selectedIds.length} 篇${$page.data.aliases?.post || '项目'}吗?操作不可恢复。`
|
||||
);
|
||||
if (confirmed) {
|
||||
form.dataset.confirmed = 'true';
|
||||
form.requestSubmit(submitter);
|
||||
}
|
||||
}}
|
||||
>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
import { resolve } from '$app/paths';
|
||||
import type { ActionData, PageData } from './$types';
|
||||
import { createSlugAutoHandler } from '$lib/utils/slugify';
|
||||
import { confirmState } from '$lib/stores/confirm.svelte';
|
||||
|
||||
let { data, form }: { data: PageData; form: ActionData } = $props();
|
||||
let name = $state('');
|
||||
@@ -105,9 +106,21 @@
|
||||
method="POST"
|
||||
action="?/delete"
|
||||
class="delete-form"
|
||||
onsubmit={(event) => {
|
||||
if (!confirm(`确定删除系列“${item.name}”吗?相关文章会保留,但不再属于任何系列。`))
|
||||
event.preventDefault();
|
||||
onsubmit={async (event) => {
|
||||
if ((event.target as HTMLFormElement).dataset.confirmed === 'true') {
|
||||
(event.target as HTMLFormElement).removeAttribute('data-confirmed');
|
||||
return;
|
||||
}
|
||||
event.preventDefault();
|
||||
const form = event.target as HTMLFormElement;
|
||||
const submitter = event.submitter;
|
||||
const confirmed = await confirmState.show(
|
||||
`确定删除系列“${item.name}”吗?相关文章会保留,但不再属于任何系列。`
|
||||
);
|
||||
if (confirmed) {
|
||||
form.dataset.confirmed = 'true';
|
||||
form.requestSubmit(submitter);
|
||||
}
|
||||
}}
|
||||
>
|
||||
<input type="hidden" name="id" value={item.id} />
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/stores';
|
||||
import type { PageData, ActionData } from './$types';
|
||||
import { confirmState } from '$lib/stores/confirm.svelte';
|
||||
|
||||
let { data, form }: { data: PageData; form: ActionData } = $props();
|
||||
|
||||
@@ -64,11 +65,21 @@
|
||||
action="?/delete"
|
||||
method="POST"
|
||||
class="inline-form"
|
||||
onsubmit={(e) => {
|
||||
if (
|
||||
!confirm(`确定要删除${$page.data.aliases?.tag || '标签'} "${tag.name}" 吗?`)
|
||||
)
|
||||
e.preventDefault();
|
||||
onsubmit={async (e) => {
|
||||
if ((e.target as HTMLFormElement).dataset.confirmed === 'true') {
|
||||
(e.target as HTMLFormElement).removeAttribute('data-confirmed');
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
const form = e.target as HTMLFormElement;
|
||||
const submitter = e.submitter;
|
||||
const confirmed = await confirmState.show(
|
||||
`确定要删除${$page.data.aliases?.tag || '标签'} "${tag.name}" 吗?`
|
||||
);
|
||||
if (confirmed) {
|
||||
form.dataset.confirmed = 'true';
|
||||
form.requestSubmit(submitter);
|
||||
}
|
||||
}}
|
||||
>
|
||||
<input type="hidden" name="id" value={tag.id} />
|
||||
|
||||
Reference in new issue
Block a user