11<template >
22 <div class =" eagle-eye-search" >
3- <app-autocomplete-many-input
4- class =" inline-input w-full mx-3"
5- :fetchFn =" handleSearchAutocomplete"
6- v-model =" selectedKeywords"
7- placeholder =" Enter keywords, or topics..."
8- :triggerOnFocus =" false"
9- :inMemoryFilter =" false"
10- @remove-tag =" handleRemoveKeyword"
11- >
12- </app-autocomplete-many-input >
3+ <div class =" flex-grow mx-3" >
4+ <app-keywords-input
5+ v-model =" selectedKeywords"
6+ placeholder =" Enter keywords, or topics..."
7+ />
8+ </div >
139 <app-eagle-eye-filter />
1410 <el-button
1511 class =" btn btn--primary mx-3"
2117</template >
2218
2319<script >
24- import AppAutocompleteManyInput from ' @/shared/form/autocomplete-many-input'
2520import AppEagleEyeFilter from ' ./eagle-eye-filter'
2621import { mapGetters , mapActions } from ' vuex'
2722
2823export default {
2924 name: ' app-eagle-eye-search' ,
3025 components: {
31- AppEagleEyeFilter,
32- AppAutocompleteManyInput
26+ AppEagleEyeFilter
3327 },
3428 computed: {
3529 ... mapGetters ({
36- filter: ' eagleEye/filter'
30+ filter: ' eagleEye/filter' ,
31+ activeTab: ' eagleEye/activeTab'
3732 })
3833 },
3934 data () {
4035 return {
4136 selectedKeywords: []
4237 }
4338 },
39+ watch: {
40+ activeTab: {
41+ handler (newValue , oldValue ) {
42+ if (newValue !== oldValue) {
43+ this .selectedKeywords = []
44+ }
45+ }
46+ }
47+ },
4448 methods: {
4549 ... mapActions ({
4650 doPopulate: ' eagleEye/doPopulate' ,
4751 doFetch: ' eagleEye/doFetch'
4852 }),
49- async handleSearchAutocomplete (query ) {
50- return [
51- {
52- id: query,
53- label: query
54- }
55- ]
56- },
5753 async doSearch () {
5854 const filtersToApply = {
5955 ... this .filter ,
60- keywords: this .selectedKeywords
61- .map ((k ) => k .id )
62- .join (' ,' )
56+ keywords: this .selectedKeywords .join (' ,' )
6357 }
6458 await this .doFetch ({
6559 rawFilter: filtersToApply,
6660 filter: filtersToApply
6761 })
68- },
69- handleRemoveKeyword () {
70- this .doSearch ()
7162 }
7263 },
7364 async created () {
@@ -76,12 +67,7 @@ export default {
7667 )
7768 this .selectedKeywords =
7869 savedKeywords && savedKeywords !== ' '
79- ? savedKeywords .split (' ,' ).map ((k ) => {
80- return {
81- id: k,
82- label: k
83- }
84- })
70+ ? savedKeywords .split (' ,' )
8571 : []
8672
8773 if (savedKeywords) {
@@ -93,6 +79,6 @@ export default {
9379
9480<style lang="scss">
9581.eagle-eye-search {
96- @apply -mx- 2 flex items-center mt- 6;
82+ @apply -mx- 3 flex items-start mt- 6;
9783}
9884 </style >
0 commit comments