diff options
-rw-r--r-- | package-lock.json | 2 | ||||
-rw-r--r-- | src/components/Settings/SettingsAddressbook.vue | 41 |
2 files changed, 37 insertions, 6 deletions
diff --git a/package-lock.json b/package-lock.json index 5de4131f..e1104316 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3873,7 +3873,7 @@ }, "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { diff --git a/src/components/Settings/SettingsAddressbook.vue b/src/components/Settings/SettingsAddressbook.vue index 864643e5..82cd9576 100644 --- a/src/components/Settings/SettingsAddressbook.vue +++ b/src/components/Settings/SettingsAddressbook.vue @@ -150,11 +150,32 @@ export default { toggleShare() { this.shareOpen = !this.shareOpen }, - toggleAddressbookEnabled() { - this.$store.dispatch('toggleAddressbookEnabled', this.addressbook) + toggleAddressbookEnabled(e) { + console.log(e.target) // eslint-disable-line + e.target.classList.add('icon-loading') + setTimeout(function() { + try { + this.$store.dispatch('toggleAddressbookEnabled', this.addressbook) + } catch (err) { + // error handling + } finally { + // stop loading regardless of outcome + e.target.classList.remove('icon-loading') + } + }, 5000) }, - deleteAddressbook() { - this.$store.dispatch('deleteAddressbook', this.addressbook) + deleteAddressbook(e) { + e.target.previousElementSibling.classList.add('icon-loading') + setTimeout(function() { + try { + this.$store.dispatch('deleteAddressbook', this.addressbook) + } catch (err) { + // error handling + } finally { + // stop loading regardless of outcome + e.target.previousElementSibling.classList.remove('icon-loading') + } + }, 5000) }, renameAddressbook() { this.editingName = true @@ -163,7 +184,17 @@ export default { let addressbook = this.addressbook // New name for addressbook - inputed value from form let newName = e.target[0].value - this.$store.dispatch('renameAddressbook', { addressbook, newName }).then(this.editingName = false) + e.target.previousElementSibling.classList.add('icon-loading') + setTimeout(function() { + try { + this.$store.dispatch('renameAddressbook', { addressbook, newName }).then(this.editingName = false) // .then(e.target.parent.classList.add()) + } catch (err) { + // error handling + } finally { + // stop loading regardless of outcome + e.target.previousElementSibling.classList.remove('icon-loading') + } + }, 5000) }, copyLink() { // copy link for addressbook to clipboard |