diff options
author | Christopher Ng <chrng8@gmail.com> | 2022-03-02 23:00:33 +0300 |
---|---|---|
committer | nextcloud-command <nextcloud-command@users.noreply.github.com> | 2022-06-27 22:23:16 +0300 |
commit | 7d4138a0efd436abc7cb33a5009a5db68eb166cb (patch) | |
tree | 4c6da36774fd6bde1f8a002a3e41739bbca105d1 /apps/settings | |
parent | f881e41328744281bcf3bdb1d6f98747a295a36c (diff) |
Use unique key to prevent email component reusebackport/31345/stable24
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Diffstat (limited to 'apps/settings')
-rw-r--r-- | apps/settings/src/components/PersonalInfo/EmailSection/Email.vue | 1 | ||||
-rw-r--r-- | apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue | 11 |
2 files changed, 8 insertions, 4 deletions
diff --git a/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue b/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue index ef03ae0677d..deb5da3a798 100644 --- a/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue +++ b/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue @@ -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" diff --git a/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue b/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue index 07ec35861a9..1c548bf8355 100644 --- a/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue +++ b/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue @@ -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> |