summaryrefslogtreecommitdiffstats
path: root/src/components/Settings/SettingsAddressbook.vue
diff options
context:
space:
mode:
authorJessica <jessica@Absolventas-MacBook-Pro.local>2018-09-13 16:28:53 +0200
committerJessica <jessica@Absolventas-MacBook-Pro.local>2018-09-13 16:28:53 +0200
commit621a404a69d948b6b4fa58b8d94db500902c8bb6 (patch)
treef8d2938250f20315ecd52b1e22c2d7e9fe62f780 /src/components/Settings/SettingsAddressbook.vue
parent340c8c4d05bc797f037f83d544169dc304d9e69c (diff)
added loading states
Diffstat (limited to 'src/components/Settings/SettingsAddressbook.vue')
-rw-r--r--src/components/Settings/SettingsAddressbook.vue41
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