Merge pull request #31345 from nextcloud/fix/31164/delete-additional-email

Fix deletion of additional emails
This commit is contained in:
Vincent Petry 2022-06-13 09:14:16 +02:00 committed by GitHub
commit 4ecedffb5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 7 deletions

View file

@ -51,7 +51,6 @@
<Actions class="email__actions"
:aria-label="t('settings', 'Email options')"
:disabled="deleteDisabled"
:force-menu="true">
<ActionButton :aria-label="deleteEmailLabel"
:close-after-click="true"

View file

@ -46,8 +46,9 @@
<template v-if="additionalEmails.length">
<em class="additional-emails-label">{{ t('settings', 'Additional emails') }}</em>
<!-- TODO use unique key for additional email when uniqueness can be guaranteed, see https://github.com/nextcloud/server/issues/26866 -->
<Email v-for="(additionalEmail, index) in additionalEmails"
:key="index"
:key="additionalEmail.key"
:index="index"
:scope.sync="additionalEmail.scope"
:email.sync="additionalEmail.value"
@ -85,7 +86,7 @@ export default {
data() {
return {
accountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,
additionalEmails,
additionalEmails: additionalEmails.map(properties => ({ ...properties, key: this.generateUniqueKey() })),
displayNameChangeSupported,
primaryEmail,
savePrimaryEmailScope,
@ -119,7 +120,7 @@ export default {
methods: {
onAddAdditionalEmail() {
if (this.isValidSection) {
this.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE })
this.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE, key: this.generateUniqueKey() })
}
},
@ -184,6 +185,10 @@ export default {
this.logger.error(errorMessage, error)
}
},
generateUniqueKey() {
return Math.random().toString(36).substring(2)
},
},
}
</script>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long