summaryrefslogtreecommitdiffstats
path: root/webapp/src/components/BackendModuleEditDynamicFields.vue
diff options
context:
space:
mode:
authorJannik Schönartz2019-03-10 17:42:59 +0100
committerJannik Schönartz2019-03-10 17:42:59 +0100
commit111555c32100b589caef08fb5a6a441a45f15dbf (patch)
tree8ac43b99b91a7408a929bf751b237d37e25b3d6e /webapp/src/components/BackendModuleEditDynamicFields.vue
parent[documentation] Add documentation site (diff)
downloadbas-111555c32100b589caef08fb5a6a441a45f15dbf.tar.gz
bas-111555c32100b589caef08fb5a6a441a45f15dbf.tar.xz
bas-111555c32100b589caef08fb5a6a441a45f15dbf.zip
[external-backends] Passwords are not send to the frontend anymore
Change error responses to the new response scheme Add set password button in the frontend to deal with the no password policy
Diffstat (limited to 'webapp/src/components/BackendModuleEditDynamicFields.vue')
-rw-r--r--webapp/src/components/BackendModuleEditDynamicFields.vue56
1 files changed, 39 insertions, 17 deletions
diff --git a/webapp/src/components/BackendModuleEditDynamicFields.vue b/webapp/src/components/BackendModuleEditDynamicFields.vue
index 0d612f7..1f9fdcd 100644
--- a/webapp/src/components/BackendModuleEditDynamicFields.vue
+++ b/webapp/src/components/BackendModuleEditDynamicFields.vue
@@ -1,8 +1,10 @@
<i18n>
{
"en": {
+ "setPassword": "Set"
},
"de": {
+ "setPassword": "Setzen"
}
}
</i18n>
@@ -10,27 +12,35 @@
<div>
<template v-for="element in elements">
<v-text-field
- v-if="element.type == 'text'"
+ v-if="element.type === 'text'"
:label="element.name"
- :key="element.name"
+ :key="element.id"
v-model="element.value"
:prepend-icon="element.icon"
></v-text-field>
- <v-text-field
- v-else-if="element.type == 'password'"
- :label="element.name"
- :key="element.name"
- :append-icon="element.show ? 'visibility_off' : 'visibility'"
- :type="element.show ? 'text' : 'password'"
- @click:append="element.show = !element.show"
- v-model="element.value"
- :prepend-icon="element.icon"
- ></v-text-field>
- <div v-else-if="element.type == 'switch'" :key="element.name">
- <v-switch
+
+ <div v-else-if="element.type === 'password'" :key="element.id">
+ <v-layout>
+ <v-text-field
+ :disabled="element.disabled === undefined ? init(element) : element.disabled"
+ :ref="element.id"
+ :label="element.name"
+ :key="element.id"
+ :append-icon="element.show ? 'visibility_off' : 'visibility'"
+ :type="element.show ? 'text' : 'password'"
+ @click:append="element.show = !element.show"
+ v-model="element.value"
+ :prepend-icon="element.icon"
+ ></v-text-field>
+ <v-btn @click="setPassword(element)" flat icon><v-icon color="primary">edit</v-icon></v-btn>
+ </v-layout>
+ </div>
+
+ <div v-else-if="element.type === 'switch'" :key="element.id">
+ <v-switch
v-model="element.value"
:label="element.name"
- :key="element.name"
+ :key="element.id"
color="primary"
:prepend-icon="element.icon"
></v-switch>
@@ -38,10 +48,10 @@
</div>
<v-select
menu-props="offsetY"
- v-else-if="element.type == 'select'"
+ v-else-if="element.type === 'select'"
:items="element.items"
:label="element.name"
- :key="element.name"
+ :key="element.id"
v-model="element.value"
:prepend-icon="element.icon"
></v-select>
@@ -59,6 +69,18 @@ export default {
}
},
methods: {
+ init (element) {
+ element.disabled = true
+ element.value = '********'
+ return element.disabled
+ },
+ setPassword (element) {
+ element.disabled = !element.disabled
+ if (element.disabled) element.value = '********'
+ else element.value = ''
+ }
+ },
+ watch: {
},
computed: {
},