From a55b71578c13c531b4cb69c029e3c2cd62b5e117 Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Wed, 21 Oct 2020 21:06:35 +0200
Subject: [PATCH] Add auto-refresh facility

---
 .../assets/vue/components/MessagesTable.vue   | 44 +++++++++----------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/apimail/static/apimail/assets/vue/components/MessagesTable.vue b/apimail/static/apimail/assets/vue/components/MessagesTable.vue
index 59c6293d9..db691b0a1 100644
--- a/apimail/static/apimail/assets/vue/components/MessagesTable.vue
+++ b/apimail/static/apimail/assets/vue/components/MessagesTable.vue
@@ -124,19 +124,19 @@
       <b-row>
 	<b-col class="col-lg-6">
 	  <h2>Messages for <strong>{{ accountSelected.email }}</strong></h2>
-	  <!-- <b-form-group -->
-	  <!--   label="Auto refresh (minutes): " -->
-	  <!--   label-cols-sm="4" -->
-	  <!--   label-align-sm="right" -->
-	  <!--   label-size="sm" -->
-	  <!--   > -->
-	  <!--   <b-form-radio-group -->
-	  <!--     v-model="refreshMinutes" -->
-	  <!--     :options="refreshMinutesOptions" -->
-	  <!--     class="float-center" -->
-	  <!--     > -->
-	  <!--   </b-form-radio-group> -->
-	  <!-- </b-form-group> -->
+	  <b-form-group
+	    label="Auto refresh (minutes): "
+	    label-cols-sm="4"
+	    label-align-sm="right"
+	    label-size="sm"
+	    >
+	    <b-form-radio-group
+	      v-model="refreshMinutes"
+	      :options="refreshMinutesOptions"
+	      class="float-center"
+	      >
+	    </b-form-radio-group>
+	  </b-form-group>
 	  <small class="p-2">Last loaded: {{ lastLoaded }}</small>
 	  <b-badge
 	    class="p-2"
@@ -409,7 +409,7 @@ export default {
 	    ],
 	    refreshInterval: null,
 	    refreshMinutes: 1,
-	    refreshMinutesOptions: [ 1, 5, 15, 60 ],
+	    refreshMinutesOptions: [ 1, 5, 15 ],
 	    tags: null,
 	    tagRequired: 'any',
 	}
@@ -542,11 +542,11 @@ export default {
 		this.fetchDrafts()
 	    }
 	})
-	// this.refreshInterval = setInterval(this.refreshMessages, this.refreshMinutes * 1000)
+ 	this.refreshInterval = setInterval(this.refreshMessages, this.refreshMinutes * 60000)
+    },
+    beforeDestroy() {
+    	clearInterval(this.refreshInterval)
     },
-    // beforeDestroy() {
-    // 	clearInterval(this.refreshInterval)
-    // },
     watch: {
 	accountSelected: function () {
 	    this.$root.$emit('bv::refresh::table', 'my-table')
@@ -566,10 +566,10 @@ export default {
 	accountSelected: function () {
 	    this.tabbedMessages = []
 	},
-	// refreshMinutes: function () {
-	//     clearInterval(this.refreshInterval)
-	//     this.refreshInterval = setInterval(this.refreshMessages, this.refreshMinutes * 1000)
-	// }
+	refreshMinutes: function () {
+	    clearInterval(this.refreshInterval)
+	    this.refreshInterval = setInterval(this.refreshMessages, this.refreshMinutes * 60000)
+	}
     }
 }
 
-- 
GitLab