UI: Thing configuration: Mask passwords in configuration read from files (#1342)

For things configured via configuration files, the UI now masks passwords
by default. The behavior is now similar to things created in
the UI: passwords are only displayed after a click on the icon.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
pull/1291/head^2
Holger Friedrich 2022-04-05 22:43:28 +02:00 committed by GitHub
parent 6f383399a8
commit ea6726d724
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View File

@ -2,6 +2,7 @@
<f7-list ref="parameter" class="config-parameter" :no-hairlines-md="configDescription.type !== 'BOOLEAN' && (!configDescription.options || !configDescription.options.length) && ['item'].indexOf(configDescription.context) < 0"
v-show="(configDescription.visible) ? configDescription.visible(value, configuration, configDescription, parameters) : true">
<component v-if="!readOnly && !configDescription.readOnly" :is="control" :config-description="configDescription" :value="value" :parameters="parameters" :configuration="configuration" :title="configDescription.title" @input="updateValue" />
<f7-list-item v-else-if="readOnly && (configDescription.context === 'password')" :is="passwords" :config-description="configDescription" :value="value" :parameters="parameters" :configuration="configuration" :title="configDescription.title" />
<f7-list-item v-else :title="configDescription.label" :after="(value !== undefined && value !== null) ? value.toString() : 'N/A'" />
<f7-block-footer slot="after-list" class="param-description">
<div v-if="status" class="param-status-info">
@ -50,6 +51,11 @@ export default {
}
},
computed: {
passwords () {
const configDescription = this.configDescription
configDescription.readOnly = true
return ParameterText
},
control () {
const configDescription = this.configDescription
if (configDescription.options && configDescription.options.length && configDescription.limitToOptions && !configDescription.context) {

View File

@ -12,6 +12,7 @@
:required="configDescription.required" validate
:clear-button="!configDescription.required && configDescription.context !== 'password'"
@input="updateValue"
:readonly="configDescription.readOnly"
:type="controlType">
<div v-if="configDescription.context === 'password'" class="padding-left" slot="content-end">
<f7-link class="margin" color="gray" slot="content-end" @click="showPassword = !showPassword">