diff options
author | Jessica <jessica@Absolventas-MacBook-Pro.local> | 2018-09-13 16:28:53 +0200 |
---|---|---|
committer | Jessica <jessica@Absolventas-MacBook-Pro.local> | 2018-09-13 16:28:53 +0200 |
commit | 621a404a69d948b6b4fa58b8d94db500902c8bb6 (patch) | |
tree | f8d2938250f20315ecd52b1e22c2d7e9fe62f780 /src/components/Settings/SettingsAddressbook.vue | |
parent | 340c8c4d05bc797f037f83d544169dc304d9e69c (diff) |
added loading states
Diffstat (limited to 'src/components/Settings/SettingsAddressbook.vue')
-rw-r--r-- | src/components/Settings/SettingsAddressbook.vue | 41 |
1 files changed, 36 insertions, 5 deletions
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 |