diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2019-01-05 10:53:59 +0100 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2019-01-05 10:54:01 +0100 |
commit | 8244ec77c02803faa3069cf9515ea21bb4cdd31a (patch) | |
tree | c80c3371c8b0ebc666d7197fc531fe06e76528d1 /src/components/Settings/SettingsAddressbook.vue | |
parent | f408f6e4a1a443ddcf5cc5a59a7148f63479e064 (diff) |
Addressbook deletion confirm
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'src/components/Settings/SettingsAddressbook.vue')
-rw-r--r-- | src/components/Settings/SettingsAddressbook.vue | 44 |
1 files changed, 28 insertions, 16 deletions
diff --git a/src/components/Settings/SettingsAddressbook.vue b/src/components/Settings/SettingsAddressbook.vue index dd6ac69c..991ffcda 100644 --- a/src/components/Settings/SettingsAddressbook.vue +++ b/src/components/Settings/SettingsAddressbook.vue @@ -140,7 +140,7 @@ export default { menu.push({ icon: this.deleteAddressbookLoading ? 'icon-loading-small' : 'icon-delete', text: t('contacts', 'Delete'), - action: this.deleteAddressbook + action: this.confirmDeletion }) } } @@ -184,21 +184,33 @@ export default { } }, 500) }, - deleteAddressbook() { - // change to loading status - this.deleteAddressbookLoading = true - setTimeout(() => { - try { - this.$store.dispatch('deleteAddressbook', this.addressbook) - } catch (err) { - // error handling - console.error(err) - OC.Notification.showTemporary(t('contacts', 'Deletion of addressbook was not successful.')) - } finally { - // stop loading status regardless of outcome - this.deleteAddressbookLoading = false - } - }, 500) + + confirmDeletion() { + OC.dialogs.confirm( + t('contacts', 'This will delete the addressbook and every contacts within it'), + t('contacts', 'Delete {addressbook} ?', { addressbook: this.addressbook.displayName }), + this.deleteAddressbook, + true + ) + }, + + deleteAddressbook(confirm) { + if (confirm) { + // change to loading status + this.deleteAddressbookLoading = true + setTimeout(() => { + try { + this.$store.dispatch('deleteAddressbook', this.addressbook) + } catch (err) { + // error handling + console.error(err) + OC.Notification.showTemporary(t('contacts', 'Deletion of addressbook was not successful.')) + } finally { + // stop loading status regardless of outcome + this.deleteAddressbookLoading = false + } + }, 500) + } }, renameAddressbook() { this.editingName = true |