Skip to content

Commit

Permalink
fix: search results absolute url
Browse files Browse the repository at this point in the history
  • Loading branch information
ramiresviana committed Sep 29, 2020
1 parent babd778 commit 26d62e4
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 8 deletions.
28 changes: 23 additions & 5 deletions frontend/src/api/search.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
import { fetchJSON, removePrefix } from './utils'
import { fetchURL, removePrefix } from './utils'
import url from '../utils/url'

export default async function search (url, query) {
url = removePrefix(url)
export default async function search (base, query) {
base = removePrefix(base)
query = encodeURIComponent(query)

return fetchJSON(`/api/search${url}?query=${query}`, {})
}
if (!base.endsWith('/')) {
base += '/'
}

let res = await fetchURL(`/api/search${base}?query=${query}`, {})

if (res.status === 200) {
let data = await res.json()

data = data.map((item) => {
item.url = `/files${base}` + url.encodePath(item.path)
return item
})

return data
} else {
throw Error(res.status)
}
}
8 changes: 6 additions & 2 deletions frontend/src/components/Search.vue
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
</template>
<ul v-show="results.length > 0">
<li v-for="(s,k) in filteredResults" :key="k">
<router-link @click.native="close" :to="'./' + s.path">
<router-link @click.native="close" :to="s.url">
<i v-if="s.dir" class="material-icons">folder</i>
<i v-else class="material-icons">insert_drive_file</i>
<span>./{{ s.path }}</span>
Expand Down Expand Up @@ -183,8 +183,12 @@ export default {
this.ongoing = true
try {
this.results = await search(path, this.value)
} catch (error) {
this.$showError(error)
}
this.results = await search(path, this.value)
this.ongoing = false
}
}
Expand Down
4 changes: 3 additions & 1 deletion search/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ func Search(fs afero.Fs, scope, query string, checker rules.Checker, found func(
if len(search.Terms) > 0 {
for _, term := range search.Terms {
if strings.Contains(path, term) {
return found(strings.TrimPrefix(originalPath, scope), f)
originalPath = strings.TrimPrefix(originalPath, scope)
originalPath = strings.TrimPrefix(originalPath, "/")
return found(originalPath, f)
}
}
}
Expand Down

0 comments on commit 26d62e4

Please sign in to comment.