Changed ux for user creation to a toggle instead of a button
This commit is contained in:
@@ -118,7 +118,9 @@ export const useEmployee = defineStore({
|
|||||||
},
|
},
|
||||||
|
|
||||||
getters: {
|
getters: {
|
||||||
|
userEnabled: (state) => {
|
||||||
|
return state.clean.employee.username ? true : false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -77,8 +77,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col ps-5 border-start">
|
<div class="col ps-5 border-start">
|
||||||
<h4>Benutzerinformationen:</h4>
|
<div class="form-check form-switch">
|
||||||
<template v-if="state.employee.username || createUser">
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
role="switch"
|
||||||
|
class="form-check-input"
|
||||||
|
id="userEnabledSwitch"
|
||||||
|
:checked="createUser || state.userEnabled"
|
||||||
|
@click="onToggleCreateUser"
|
||||||
|
:disabled="state.userEnabled"
|
||||||
|
>
|
||||||
|
<label for="userEnabledSwitch" class="form-check-label h5">{{ labelUserEnabled }}</label>
|
||||||
|
</div>
|
||||||
|
<template v-if="state.userEnabled || createUser">
|
||||||
<label for="username" class="form-label">Benutzername:</label>
|
<label for="username" class="form-label">Benutzername:</label>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
@@ -86,7 +97,7 @@
|
|||||||
id="username"
|
id="username"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
:class="classIsInvalid(v$.username)"
|
:class="classIsInvalid(v$.username)"
|
||||||
:disabled="!createUser"
|
:disabled="!createUser"
|
||||||
>
|
>
|
||||||
<div v-for="(error) in v$.username.$errors" class="invalid-feedback" id="usernameFeedback">
|
<div v-for="(error) in v$.username.$errors" class="invalid-feedback" id="usernameFeedback">
|
||||||
{{ error.$message }}
|
{{ error.$message }}
|
||||||
@@ -117,10 +128,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
|
||||||
<p>Kein Benutzer vorhanden</p>
|
|
||||||
<button class="btn btn-primary" @click.prevent="onCreateUser()">Benutzer erstellen</button>
|
|
||||||
</template>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -185,6 +192,10 @@ function onEnter() {
|
|||||||
onUpdateEmployee
|
onUpdateEmployee
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onToggleCreateUser() {
|
||||||
|
createUser.value = !createUser.value
|
||||||
|
}
|
||||||
|
|
||||||
function onToggleEdit() {
|
function onToggleEdit() {
|
||||||
if(createUser.value) {
|
if(createUser.value) {
|
||||||
editEmployee.value = false
|
editEmployee.value = false
|
||||||
@@ -216,6 +227,10 @@ onMounted(async () => {
|
|||||||
state.fetchFromApi(route.params.id)
|
state.fetchFromApi(route.params.id)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const labelUserEnabled = computed(() => {
|
||||||
|
return state.userEnabled ? 'Benutzerinformationen' : 'Kein Benutzer vorhanden'
|
||||||
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user