Browse Source

search bugfix #2293

bach 1 year ago
parent
commit
69b0d79591
3 changed files with 13 additions and 8 deletions
  1. 2 1
      src/stores/concernements.js
  2. 5 2
      src/stores/search.js
  3. 6 5
      src/views/Search.vue

+ 2 - 1
src/stores/concernements.js

@@ -354,6 +354,7 @@ export const ConcernementsStore = defineStore({
     openCloseConcernements (cid, id) {
       console.log(`openCloseConcernements cid: ${cid}, id: ${id}`);
       var state;
+      let mapitem_id = id ? id : cid;
       this.opened_concernement = null;
       this.opened_recit = null;
       this.concernements.forEach((c, i) => {
@@ -362,7 +363,7 @@ export const ConcernementsStore = defineStore({
         c.opened = this.concernements[i].opened = this.concernementsByID[c.id].opened = state;
         if (state) {
           this.opened_concernement = c;
-          this.opened_concernement.opened_mapitem_id = id;
+          this.opened_concernement.opened_mapitem_id = mapitem_id;
           if (c.has_recit && this.map_mode === "terraindevie") {
             this.opened_recit = c.recit;
           }

+ 5 - 2
src/stores/search.js

@@ -15,7 +15,7 @@ import ResultsEntiteFields from '@api/gql/results_entite.fragment.gql'
 export const SearchStore = defineStore({
   id: 'search',
   state: () => ({
-    keys: null,
+    keys: [],
     contentTypeFilter: 'concernements',
     results: null,
     loaded_results: null
@@ -25,7 +25,10 @@ export const SearchStore = defineStore({
   },
   actions: {
     setKeys (value) {
-      this.keys = value.split(' ');
+      console.log('setKeys', value);
+      if (value) {
+        this.keys = value.split(' ');
+      }
     },
     setContentType (v) {
       this.contentTypeFilter = v

+ 6 - 5
src/views/Search.vue

@@ -24,7 +24,7 @@ export default {
   },
   created () {
     console.log("search created");
-    this.value = this.keys;
+    this.value = this.keys.join(' ');
     this.content_type = this.contentTypeFilter;
   },
   watch: {
@@ -49,13 +49,14 @@ export default {
       // let value = event.target[0].value;
       this.newSearch();
     },
-    onClickResult(id, eid) {
-      this.openCloseConcernements(id)
-      
+    onClickResult(cid, eid) {
+      // open map item
+      this.openCloseConcernements(cid)
+      // apoen cartouch via routing
       this.$router.push({
         name: 'concernement',
         hash: `#${this.map_mode}`,
-        params: {id: id, eid: eid}
+        params: {cid: cid, eid: eid}
       });
     }
   },