fix: UI fixes + search crash (#1086)

This commit is contained in:
NGPixel
2019-11-02 16:04:43 -04:00
parent 57f79c19b2
commit d69dde1df5
9 changed files with 55 additions and 54 deletions

View File

@@ -1,20 +1,20 @@
<template lang="pug">
.search-results(v-if='searchIsFocused || search.length > 1')
.search-results(v-if='searchIsFocused || (search && search.length > 1)')
.search-results-container
.search-results-help(v-if='search.length < 2')
.search-results-help(v-if='search && search.length < 2')
img(src='/svg/icon-search-alt.svg')
.mt-4 {{$t('common:header.searchHint')}}
.search-results-loader(v-else-if='searchIsLoading && results.length < 1')
.search-results-loader(v-else-if='searchIsLoading && (!results || results.length < 1)')
orbit-spinner(
:animation-duration='1000'
:size='100'
color='#FFF'
)
.headline.mt-5 {{$t('common:header.searchLoading')}}
.search-results-none(v-else-if='!searchIsLoading && results.length < 1')
.search-results-none(v-else-if='!searchIsLoading && (!results || results.length < 1)')
img(src='/svg/icon-no-results.svg', alt='No Results')
.subheading {{$t('common:header.searchNoResult')}}
template(v-if='results.length > 0')
template(v-if='results && results.length > 0')
v-subheader.white--text {{$t('common:header.searchResultsCount', { total: response.totalHits })}}
v-list.search-results-items.radius-7.py-0(two-line)
template(v-for='(item, idx) of results')
@@ -34,7 +34,7 @@
v-model='pagination'
:length='paginationLength'
)
template(v-if='suggestions.length > 0')
template(v-if='suggestions && suggestions.length > 0')
v-subheader.white--text.mt-3 {{$t('common:header.searchDidYouMean')}}
v-list.search-results-suggestions.radius-7(dense, dark)
template(v-for='(term, idx) of suggestions')
@@ -44,7 +44,7 @@
v-list-item-content
v-list-item-title(v-html='term')
v-divider(v-if='idx < suggestions.length - 1')
.text-xs-center.pt-5(v-if='search.length > 1')
.text-xs-center.pt-5(v-if='search && search.length > 1')
//- v-btn.mx-2(outlined, color='orange', @click='search = ``', v-if='results.length > 0')
//- v-icon(left) mdi-content-save
//- span {{$t('common:header.searchCopyLink')}}
@@ -97,7 +97,7 @@ export default {
watch: {
search(newValue, oldValue) {
this.cursor = 0
if (newValue.length < 2) {
if (newValue && newValue.length < 2) {
this.response.results = []
this.response.suggestions = []
} else {
@@ -107,6 +107,7 @@ export default {
},
mounted() {
this.$root.$on('searchMove', (dir) => {
console.info()
this.cursor += ((dir === 'up') ? -1 : 1)
if (this.cursor < -1) {
this.cursor = -1
@@ -115,6 +116,10 @@ export default {
}
})
this.$root.$on('searchEnter', () => {
if (!this.results) {
return
}
if (this.cursor >= 0 && this.cursor < this.results.length) {
this.goToPage(_.nth(this.results, this.cursor))
} else if (this.cursor >= 0) {