From 98bc773c94668eb5aaad495a93dd4e5c56ed2db3 Mon Sep 17 00:00:00 2001 From: azuki774s Date: Mon, 19 Aug 2024 21:56:38 +0900 Subject: [PATCH 1/3] mock: delete method --- test/mock_server.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/mock_server.py b/test/mock_server.py index 360e1aa..fde037f 100644 --- a/test/mock_server.py +++ b/test/mock_server.py @@ -72,6 +72,11 @@ def do_POST(self): self.send_header('Content-type', 'application/json') self.end_headers() + def do_DELETE(self): + self.send_response(204) + self.send_header('Content-type', 'text/plain') + self.end_headers() + def import_args(): parser = argparse.ArgumentParser("mock server start") From 34cbff6c9cd6d19e28a85ea51b0de0ac1e8c86ba Mon Sep 17 00:00:00 2001 From: azuki774s Date: Mon, 19 Aug 2024 22:20:01 +0900 Subject: [PATCH 2/3] enable ssr --- nuxt.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 40aad7b..e1ea45d 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -4,7 +4,7 @@ export default defineNuxtConfig({ css: ["bootstrap/dist/css/bootstrap.min.css"], devtools: { enabled: true }, routeRules: { - "/": { ssr: false }, + "/": { ssr: true }, }, runtimeConfig: { public: { // 外部から取得するにはpublic が必要 From 5618d64461b806c1c6a5c4b1a8edf00dce3e2d22 Mon Sep 17 00:00:00 2001 From: azuki774s Date: Mon, 19 Aug 2024 22:26:22 +0900 Subject: [PATCH 3/3] add delete btn and routing --- components/History.vue | 21 +++++++++++++++++++++ server/api/deleteRecord.ts | 11 +++++++++++ 2 files changed, 32 insertions(+) create mode 100644 server/api/deleteRecord.ts diff --git a/components/History.vue b/components/History.vue index 1ad3acc..8636e1a 100644 --- a/components/History.vue +++ b/components/History.vue @@ -22,6 +22,25 @@ if (data != undefined) { // 取得済の場合のみ recordList.value = data +async function showDeleteDialog(id: number): Promise { + const userResponse: boolean = confirm("このデータを削除しますか"); + if (userResponse == true) { + console.log('delete: id=' + id); + const asyncDataBtn = await useAsyncData( + `record`, + (): Promise => { + const param = { 'id': id }; + const paramStr = "?id=" + param['id']; + const localurl = "/api/deleteRecord" + paramStr + const response = $fetch(localurl); + return response; + } + ); + location.reload() + } + +}; +