Skip to content

Commit c23c499

Browse files
authored
Merge pull request #54334 from nextcloud/backport/54312/stable30
2 parents f8fdc8f + 6bf0e79 commit c23c499

File tree

3 files changed

+8
-15
lines changed

3 files changed

+8
-15
lines changed

core/src/components/UnifiedSearch/UnifiedSearchModal.vue

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
v-bind="result" />
130130
</ul>
131131
<div class="result-footer">
132-
<NcButton type="tertiary-no-background" @click="loadMoreResultsForProvider(providerResult)">
132+
<NcButton v-if="providerResult.results.length === providerResult.limit" type="tertiary-no-background" @click="loadMoreResultsForProvider(providerResult)">
133133
{{ t('core', 'Load more results') }}
134134
<template #icon>
135135
<IconDotsHorizontal :size="20" />
@@ -367,7 +367,7 @@ export default defineComponent({
367367
this.$refs.searchInput?.focus()
368368
})
369369
},
370-
find(query: string) {
370+
find(query: string, providersToSearchOverride = null) {
371371
if (query.length === 0) {
372372
this.results = []
373373
this.searching = false
@@ -382,7 +382,7 @@ export default defineComponent({
382382
383383
this.searching = true
384384
const newResults = []
385-
const providersToSearch = this.filteredProviders.length > 0 ? this.filteredProviders : this.providers
385+
const providersToSearch = providersToSearchOverride || (this.filteredProviders.length > 0 ? this.filteredProviders : this.providers)
386386
const searchProvider = (provider) => {
387387
const params = {
388388
type: provider.searchFrom ?? provider.id,
@@ -424,6 +424,7 @@ export default defineComponent({
424424
newResults.push({
425425
...provider,
426426
results: response.data.ocs.data.entries,
427+
limit: params.limit ?? 5,
427428
})
428429
429430
unifiedSearchLogger.debug('Unified search results:', { results: this.results, newResults })
@@ -513,15 +514,7 @@ export default defineComponent({
513514
},
514515
async loadMoreResultsForProvider(provider) {
515516
this.providerResultLimit += 5
516-
// Remove all other providers from filteredProviders except the current "loadmore" provider
517-
this.filteredProviders = this.filteredProviders.filter(filteredProvider => filteredProvider.id === provider.id)
518-
// Plugin filters may have extra parameters, so we need to keep them
519-
// See method handlePluginFilter for more details
520-
if (this.filteredProviders.length > 0 && this.filteredProviders[0].isPluginFilter) {
521-
provider = this.filteredProviders[0]
522-
}
523-
this.addProviderFilter(provider, true)
524-
this.find(this.searchQuery)
517+
this.find(this.searchQuery, [provider])
525518
},
526519
addProviderFilter(providerFilter, loadMoreResultsForProvider = false) {
527520
unifiedSearchLogger.debug('Applying provider filter', { providerFilter, loadMoreResultsForProvider })

dist/core-unified-search.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/core-unified-search.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)