From ce1f3842e0f581d9e94ea6079cf223d945f7465d Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Mon, 11 Jan 2021 20:41:57 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=96=8A=20UserDetail=20-=20reactivity=20on?= =?UTF-8?q?=20edit=20+=20update=20functionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref #12 --- src/components/UserDetail.svelte | 38 ++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/src/components/UserDetail.svelte b/src/components/UserDetail.svelte index 0ef16f3f..323d64a5 100644 --- a/src/components/UserDetail.svelte +++ b/src/components/UserDetail.svelte @@ -7,18 +7,28 @@ export let params; const user_promise = UserService.userControllerGetOne(params.userid); let data_loaded = false; - let original_data = undefined; + $: original_data = {}; $: editable_userdata = undefined; user_promise.then((data) => { data_loaded = true; - original_data = data; + original_data = Object.assign(original_data, data); editable_userdata = data; }); - // $: changes_performed = lodashIsEqual(original_data, editable_userdata); - $: changes_performed = !lodashIsEqual({ test: 1 }, { test: 1 }); + $: changes_performed = !lodashIsEqual(original_data, editable_userdata); function submit() { if (data_loaded === true && changes_performed === true) { console.log("ok, submitting..."); + console.log(editable_userdata); + UserService.userControllerPut(original_data.id, editable_userdata) + .then((resp) => { + console.log(resp); + Object.assign(original_data, editable_userdata); + original_data = editable_userdata; + Object.assign(original_data, editable_userdata); + }) + .catch((err) => { + console.log(err); + }); } else { console.log("no changes performed"); } @@ -63,26 +73,26 @@
  • - {user.firstname} - {user.middlename || ''} - {user.lastname} + {original_data.firstname} + {original_data.middlename || ''} + {original_data.lastname}
  • - {user.firstname} - {user.middlename || ''} - {user.lastname} - + {original_data.firstname} + {original_data.middlename || ''} + {original_data.lastname} +