From a411dce68cfee24b7a4d7cd0fac92374dec604f9 Mon Sep 17 00:00:00 2001
From: EdwardAJ <13517115@std.stei.itb.ac.id>
Date: Thu, 26 Mar 2020 14:16:26 +0700
Subject: [PATCH] Fix searching on collab

---
 frontend/pages/main/label.vue   | 20 +++++++++++++++-----
 frontend/pages/viewer/index.vue | 14 ++++++++++----
 2 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/frontend/pages/main/label.vue b/frontend/pages/main/label.vue
index d4aff8c..7a51dd0 100644
--- a/frontend/pages/main/label.vue
+++ b/frontend/pages/main/label.vue
@@ -62,7 +62,7 @@ export default {
       images: {},
       keyword: '',
       isViewerActive: false,
-      perPage: 2,
+      perPage: 12,
       totalRows: 0,
       page: 1,
       timer: '',
@@ -129,6 +129,7 @@ export default {
       this.updateUI = !this.updateUI
     },
     async getAllImagesWithLabelStatus() {
+      this.images = {}
       await this.getAllImages(this.perPage, this.page, this.keyword)
       await this.getImageCurrentlyBeingLabelled()
     },
@@ -149,19 +150,28 @@ export default {
         throw error
       }
     },
-    openViewer (image) {
+    async openViewer (image) {
       console.log(image)
       if (!image.isCurrentlyLabeled) {
-        this.$router.push({ path: '/viewer', query: { url: image.url, id: image.id }})
+        var url = '/api/accesscontrol/' + image.id
+        try {
+          await this.$axios.get(url)
+          alert("This image is currently Labeled")
+        } catch (e) {
+          this.$router.push({ path: '/viewer', query: { url: image.url, id: image.id }})
+        }
       }
     },
     debounceWrapper (e) {
       this.page = 1
+      this.keyword = e.target.value
+      // alert(this.keyword)
       this.debounceInput(e)
     },
     // Only fires when user stops typing
-    debounceInput: debounce(async function (e) {
-      await this.getAllImages(this.perPage, this.page, e.target.value)
+    debounceInput: debounce(async function () {
+      await this.getAllImagesWithLabelStatus()
+      // await this.getAllImages(this.perPage, this.page, e.target.value)
     }, 500)
   }
 }
diff --git a/frontend/pages/viewer/index.vue b/frontend/pages/viewer/index.vue
index 54ef883..c1fecbe 100644
--- a/frontend/pages/viewer/index.vue
+++ b/frontend/pages/viewer/index.vue
@@ -89,7 +89,7 @@ export default {
   },
   async created () {
     await this.startHeartBeat()
-    this.timer = setInterval(this.startHeartBeat, 5000)
+    this.timer = setInterval(this.startHeartBeat, 90000)
   },
   mounted () {
     this.image.url = this.$route.query.url
@@ -101,7 +101,6 @@ export default {
     } catch(error) {
       console.log(error)
     }
-    
     clearInterval(this.timer)
   },
   methods: {
@@ -113,10 +112,17 @@ export default {
       } catch (error) {
         this.showFailedAlert("An error occured", error)
         await this.closeViewer()
-      }      
+      }
+    },
+    handler () {
+      alert("tET")
     },
     async closeViewer () {
-      await this.deleteImageAccessControlByImageID(this.image.id)
+      try {
+        await this.deleteImageAccessControlByImageID(this.image.id)
+      } catch (error) {
+        console.log(error)
+      }
       this.$router.push('/main/label')
     },
     onMouseDownHandler (e) {
-- 
GitLab