Search performance

This commit is contained in:
portree_kid
2020-05-05 14:28:33 +02:00
parent d8ad1ffcc4
commit be078ecced
+20 -15
View File
@@ -32,7 +32,7 @@
},
data () {
// this.$store.dispatch('getAirportsUnfiltered')
return {searchterm: this.searchterm}
return {searchterm: this.searchterm, lastSearchTerm: '', lastResult: {}}
},
methods: {
goto (icao) {
@@ -127,21 +127,26 @@
computed: {
searched: function () {
console.log(this.searchterm)
let searchRegex = new RegExp(this.searchterm, 'i')
let result = this.$store.state.Airports.airports
.filter(point => point.geometry !== undefined)
.filter(point => point.geometry.coordinates !== undefined)
.filter(a => a.properties !== undefined)
.filter(a => searchRegex.test(a.properties.icao) || searchRegex.test(a.properties.name))
// .map(a => console.log(a.properties))
.map(a => ({ icao: a.properties.icao, name: a.properties.name }))
if (result !== undefined &&
result.length === 0 &&
this.searchterm !== undefined &&
this.searchterm.length >= 3) {
this.$store.dispatch('getAirport', this.searchterm)
if (this.searchterm !== this.lastSearchTerm) {
let searchRegex = new RegExp(this.searchterm, 'i')
let result = this.$store.state.Airports.airports
.filter(point => point.geometry !== undefined)
.filter(point => point.geometry.coordinates !== undefined)
.filter(a => a.properties !== undefined)
.filter(a => searchRegex.test(a.properties.icao) || searchRegex.test(a.properties.name))
// .map(a => console.log(a.properties))
.map(a => ({ icao: a.properties.icao, name: a.properties.name }))
if (result !== undefined &&
result.length === 0 &&
this.searchterm !== undefined &&
this.searchterm.length >= 3) {
this.$store.dispatch('getAirport', this.searchterm)
}
this.lastResult = result
this.lastSearchTerm = this.searchterm
return result
}
return result
return this.lastResult
}
}
}