From d2193bf428d021328f407e6be1e661b582fd2a1d Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 25 Feb 2021 20:27:03 +0100 Subject: [PATCH] Finished group creation modal ref #48 --- src/components/groups/AddGroupModal.svelte | 195 +++------------------ 1 file changed, 29 insertions(+), 166 deletions(-) diff --git a/src/components/groups/AddGroupModal.svelte b/src/components/groups/AddGroupModal.svelte index b635d6a3..ab16b2c7 100644 --- a/src/components/groups/AddGroupModal.svelte +++ b/src/components/groups/AddGroupModal.svelte @@ -2,56 +2,19 @@ import { _ } from "svelte-i18n"; import { clickOutside } from "../base/outsideclick"; import { focusTrap } from "svelte-focus-trap"; - import { - RunnerService, - RunnerTeamService, - RunnerOrganizationService, - } from "@odit/lfk-client-js"; - import isEmail from "validator/es/lib/isEmail"; - import isMobilePhone from "validator/es/lib/isMobilePhone"; import Toastify from "toastify-js"; +import { UserGroupService } from "@odit/lfk-client-js"; export let modal_open; - export let current_runners; - $: selected_team = undefined; - let firstname_input; - let lastname_input; - let middlename_input; - let phone_input; - let email_input; - let teams = []; - RunnerTeamService.runnerTeamControllerGetAll().then((val) => { - teams = val; - }); - let orgs = []; - RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => { - orgs = val; - }); + export let current_groups; + let description_input_value; function focus(el) { el.focus(); } - $: middlename_input_value = ""; - $: phone_input_value = ""; - $: email_input_value = ""; - $: lastname_input_value = ""; - $: firstname_input_value = ""; + $: description_input_value = ""; + $: name_input_value = ""; $: processed_last_submit = true; - $: isPhoneValidOrEmpty = - isMobilePhone( - phone_input_value - .replaceAll("(", "") - .replaceAll(")", "") - .replaceAll("-", "") - .replaceAll(" ", "") - ) || phone_input_value === ""; - $: isEmailValidOrEmpty = - isEmail(email_input_value) || email_input_value === ""; - $: isLastnameValid = lastname_input_value.trim().length !== 0; - $: isFirstnameValid = firstname_input_value.trim().length !== 0; - $: createbtnenabled = - isFirstnameValid && - isLastnameValid && - isEmailValidOrEmpty && - isPhoneValidOrEmpty; + $: isNameValid = name_input_value.trim().length !== 0; + $: createbtnenabled = isNameValid; (() => { document.onkeydown = (e) => { e = e || window.event; @@ -70,38 +33,26 @@ if (processed_last_submit === true) { processed_last_submit = false; const toast = Toastify({ - text: "Runner is being added...", + text: "Group is being added...", duration: -1, }).showToast(); let postdata = { - group: selected_team, - firstname: firstname_input_value, - lastname: lastname_input_value, - }; - if (middlename_input_value) { - postdata.middlename = middlename_input_value; + name: name_input_value, + description: description_input_value } - if (phone_input_value) { - postdata.phone = phone_input_value; - } - if (email_input_value) { - postdata.email = email_input_value; - } - RunnerService.runnerControllerPost(postdata) + UserGroupService.userGroupControllerPost(postdata) .then((result) => { - firstname_input_value = ""; - lastname_input_value = ""; - middlename_input_value = ""; - email_input_value = ""; + name_input_value = ""; + description_input_value = ""; modal_open = false; // Toastify({ - text: "Runner added", + text: "Group added", duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); - current_runners.push(result); - current_runners = current_runners; + current_groups.push(result); + current_groups = current_groups; }) .catch((err) => { // @@ -154,136 +105,48 @@

- {$_('create-a-new-runner')} + Create a new user group

- {$_('please-provide-the-required-information-to-add-a-new-runner')} + Please provide the required information for creating a new user group.

+ class="block text-sm font-medium text-gray-700">Name - {#if !isFirstnameValid} + {#if !isNameValid} - {$_('first-name-is-required')} + Name is required {/if}
+ class="block text-sm font-medium text-gray-700">Description(optional)
-
- - - {#if !isLastnameValid} - - {$_('last-name-is-required')} - - {/if} -
-
- - -
-
- - - {#if !isPhoneValidOrEmpty} - - {$_('the-provided-phone-number-is-invalid-less-than-br-greater-than-please-enter-a-valid-international-number')} - - {/if} -
-
- - - {#if !isEmailValidOrEmpty} - - {$_('valid-email-is-required')} - - {/if} -