From eba7f934e602d9c8d3667d148869de1330cacd4e Mon Sep 17 00:00:00 2001
From: Eugen Ciur <eugen@papermerge.com>
Date: Sat, 8 Jan 2022 07:02:18 +0100
Subject: [PATCH] use async/await style for doSearch action

---
 app/components/search/index.js | 31 ++++++++++---------------------
 app/services/requests.js       |  2 +-
 app/styles/search.scss         |  8 +++++++-
 3 files changed, 18 insertions(+), 23 deletions(-)

diff --git a/app/components/search/index.js b/app/components/search/index.js
index cb3f05e..e49bb42 100644
--- a/app/components/search/index.js
+++ b/app/components/search/index.js
@@ -8,7 +8,7 @@ import { A } from '@ember/array';
 export default class SearchComponent extends Component {
   @service requests;
   @tracked query;
-  autocomplete_items = A([]);
+  @tracked autocomplete_items = A([]);
   /*
   @tracked autocomplete_items = A([
     {
@@ -35,27 +35,16 @@ export default class SearchComponent extends Component {
   */
 
   @action
-  doSearch() {
-    let that = this;
+  async doSearch() {
+    let response = await this.requests.search(this.query);
+    let data = await response.json();
 
-    this.requests.search(this.query).then(
-      resp => resp.json()
-    ).then(data => {
-
-      data.forEach(item => {
-        console.log(`pushing item ${item.title}`);
-        that.autocomplete_items.push(
-          {
-            'title': item.title,
-            'type': 'document',
-            'path': item.breadcrumb,
-          }
-        )
-      });
+    this.autocomplete_items = data.map(item => {
+      return {
+        'title': item.title,
+        'type': 'document',
+        'path': item.breadcrumb,
+      }
     });
-
-    if (this.autocomplete_items) {
-      //pass
-    }
   }
 }
diff --git a/app/services/requests.js b/app/services/requests.js
index 10f5e3d..64e23d2 100644
--- a/app/services/requests.js
+++ b/app/services/requests.js
@@ -85,7 +85,7 @@ export default class Requests extends Service {
   async search(query) {
     let url;
 
-    url = `${base_url()}/search?q=${query}`;
+    url = `${base_url()}/search/?q=${query}`;
 
     return fetch(url, {
       method: 'GET',
diff --git a/app/styles/search.scss b/app/styles/search.scss
index 297cb96..6fdd9c9 100644
--- a/app/styles/search.scss
+++ b/app/styles/search.scss
@@ -9,20 +9,26 @@
     width: 100%;
     top: 3rem;
     background-color: white;
-    padding: 0rem 1rem;
+    border: 1px solid #d4d4d4;
+    margin: 0;
+    padding: 0;
 
     li:hover {
       background-color: #e9e9e9;
+      border-left: 1px solid #0d6efd;
       cursor: pointer;
     }
 
     li {
       background-color: #fff;
+      border-left: 1px solid #d4d4d4;
       z-index: 1000;
       margin-top: 0.5rem;
       list-style: none;
       display: flex;
       align-items: center;
+      margin: 0;
+      padding: 0.75rem 1rem;
 
       .path {
         padding-left: 2rem;
-- 
GitLab