🐞 [bugfix] RunnerDetail update

ref #13
This commit is contained in:
Philipp Dormann 2021-01-24 17:16:49 +01:00
parent 5552055b98
commit ec4bcd093b

View File

@ -5,26 +5,25 @@
import { RunnerService } from "@odit/lfk-client-js";
import Toastify from "toastify-js";
import PromiseError from "./PromiseError.svelte";
import isEmail from "validator/es/lib/isEmail";
export let params;
const runner_promise = RunnerService.runnerControllerGetOne(params.runnerid);
let data_loaded = false;
$: delete_triggered = false;
$: original_data = {};
$: editable_userdata = {};
$: editable = {};
runner_promise.then((data) => {
console.log(data);
data_loaded = true;
original_data = Object.assign(original_data, data);
editable_userdata = data;
editable = data;
});
$: changes_performed = !lodashIsEqual(original_data, editable_userdata);
$: changes_performed = !lodashIsEqual(original_data, editable);
import isEmail from "validator/es/lib/isEmail";
$: isEmailValid =
(editable_userdata.email || "") === "" ||
(editable_userdata.email && isEmail(editable_userdata.email || ""));
$: isFirstnameValid = editable_userdata.firstname !== "";
$: isLastnameValid = editable_userdata.lastname !== "";
(editable.email || "") === "" ||
(editable.email && isEmail(editable.email || ""));
$: isFirstnameValid = editable.firstname !== "";
$: isLastnameValid = editable.lastname !== "";
$: save_enabled =
changes_performed && isFirstnameValid && isLastnameValid && isEmailValid;
function submit() {
@ -33,11 +32,12 @@
text: "Updating runner...",
duration: 2500,
}).showToast();
RunnerService.runnerControllerPut(original_data.id, editable_userdata)
editable.group = editable.group.id;
RunnerService.runnerControllerPut(original_data.id, editable)
.then((resp) => {
Object.assign(original_data, editable_userdata);
original_data = editable_userdata;
Object.assign(original_data, editable_userdata);
Object.assign(original_data, editable);
original_data = editable;
Object.assign(original_data, editable);
//
Toastify({
text: "Runner updated!",
@ -108,7 +108,7 @@
{original_data.firstname}
{original_data.middlename || ''}
{original_data.lastname}
<span data-id="user_actions_${editable_userdata.id}">
<span data-id="user_actions_${editable.id}">
{#if store.state.jwtinfo.userdetails.permissions.includes('RUNNER:DELETE')}
{#if delete_triggered}
<button
@ -153,7 +153,7 @@
class:border-red-500={!isFirstnameValid}
class:focus:border-red-500={!isFirstnameValid}
class:focus:ring-red-500={!isFirstnameValid}
bind:value={editable_userdata.firstname}
bind:value={editable.firstname}
name="firstname"
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
{#if !isFirstnameValid}
@ -171,7 +171,7 @@
autocomplete="off"
placeholder={$_('middle-name')}
type="text"
bind:value={editable_userdata.middlename}
bind:value={editable.middlename}
name="middlename"
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
</div>
@ -183,7 +183,7 @@
autocomplete="off"
placeholder={$_('last-name')}
type="text"
bind:value={editable_userdata.lastname}
bind:value={editable.lastname}
class:border-red-500={!isLastnameValid}
class:focus:border-red-500={!isLastnameValid}
class:focus:ring-red-500={!isLastnameValid}
@ -204,7 +204,7 @@
autocomplete="off"
placeholder={$_('e-mail-adress')}
type="email"
bind:value={editable_userdata.email}
bind:value={editable.email}
class:border-red-500={!isEmailValid}
class:focus:border-red-500={!isEmailValid}
class:focus:ring-red-500={!isEmailValid}
@ -223,7 +223,7 @@
autocomplete="off"
placeholder={$_('phone')}
type="tel"
bind:value={editable_userdata.phone}
bind:value={editable.phone}
name="phone"
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
</div>